[Bug Report]: 1071 specified key was to long; max key length is 1000 #2483

Closed
opened 2026-02-05 04:18:04 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @erickr on GitHub (Nov 10, 2021).

Describe the Bug

On a fresh installation with release v21.10.3 of bookstack and mariadb 10.3.31 the following error is shown on php artisan migrate

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.08 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.02 seconds)
Migrating: 2015_07_12_114933_create_books_table
Migrated:  2015_07_12_114933_create_books_table (0.01 seconds)
Migrating: 2015_07_12_190027_create_pages_table
Migrated:  2015_07_12_190027_create_pages_table (0 seconds)
Migrating: 2015_07_13_172121_create_images_table
Migrated:  2015_07_13_172121_create_images_table (0.01 seconds)
Migrating: 2015_07_27_172342_create_chapters_table
Migrated:  2015_07_27_172342_create_chapters_table (0.01 seconds)
Migrating: 2015_08_08_200447_add_users_to_entities
Migrated:  2015_08_08_200447_add_users_to_entities (0.02 seconds)
Migrating: 2015_08_09_093534_create_page_revisions_table
Migrated:  2015_08_09_093534_create_page_revisions_table (0 seconds)
Migrating: 2015_08_16_142133_create_activities_table
Migrated:  2015_08_16_142133_create_activities_table (0.01 seconds)
Migrating: 2015_08_29_105422_add_roles_and_permissions
Migrated:  2015_08_29_105422_add_roles_and_permissions (0.08 seconds)
Migrating: 2015_08_30_125859_create_settings_table
Migrated:  2015_08_30_125859_create_settings_table (0.01 seconds)
Migrating: 2015_08_31_175240_add_search_indexes
Migrated:  2015_08_31_175240_add_search_indexes (0 seconds)
Migrating: 2015_09_04_165821_create_social_accounts_table
Migrated:  2015_09_04_165821_create_social_accounts_table (0.02 seconds)
Migrating: 2015_09_05_164707_add_email_confirmation_table
Migrated:  2015_09_05_164707_add_email_confirmation_table (0.04 seconds)
Migrating: 2015_11_21_145609_create_views_table
Migrated:  2015_11_21_145609_create_views_table (0.01 seconds)
Migrating: 2015_11_26_221857_add_entity_indexes
Migrated:  2015_11_26_221857_add_entity_indexes (0.16 seconds)
Migrating: 2015_12_05_145049_fulltext_weighting
Migrated:  2015_12_05_145049_fulltext_weighting (0 seconds)
Migrating: 2015_12_07_195238_add_image_upload_types
Migrated:  2015_12_07_195238_add_image_upload_types (0.02 seconds)
Migrating: 2015_12_09_195748_add_user_avatars
Migrated:  2015_12_09_195748_add_user_avatars (0.01 seconds)
Migrating: 2016_01_11_210908_add_external_auth_to_users
Migrated:  2016_01_11_210908_add_external_auth_to_users (0.02 seconds)
Migrating: 2016_02_25_184030_add_slug_to_revisions
Migrated:  2016_02_25_184030_add_slug_to_revisions (0.02 seconds)
Migrating: 2016_02_27_120329_update_permissions_and_roles
Migrated:  2016_02_27_120329_update_permissions_and_roles (0.02 seconds)
Migrating: 2016_02_28_084200_add_entity_access_controls
Migrated:  2016_02_28_084200_add_entity_access_controls (0.07 seconds)
Migrating: 2016_03_09_203143_add_page_revision_types
Migrated:  2016_03_09_203143_add_page_revision_types (0.01 seconds)
Migrating: 2016_03_13_082138_add_page_drafts
Migrated:  2016_03_13_082138_add_page_drafts (0.02 seconds)
Migrating: 2016_03_25_123157_add_markdown_support
Migrated:  2016_03_25_123157_add_markdown_support (0.01 seconds)
Migrating: 2016_04_09_100730_add_view_permissions_to_roles
Migrated:  2016_04_09_100730_add_view_permissions_to_roles (0.01 seconds)
Migrating: 2016_04_20_192649_create_joint_permissions_table
Migrated:  2016_04_20_192649_create_joint_permissions_table (0.05 seconds)
Migrating: 2016_05_06_185215_create_tags_table
Migrated:  2016_05_06_185215_create_tags_table (0.02 seconds)
Migrating: 2016_07_07_181521_add_summary_to_page_revisions
Migrated:  2016_07_07_181521_add_summary_to_page_revisions (0 seconds)
Migrating: 2016_09_29_101449_remove_hidden_roles
Migrated:  2016_09_29_101449_remove_hidden_roles (0.01 seconds)
Migrating: 2016_10_09_142037_create_attachments_table
Migrated:  2016_10_09_142037_create_attachments_table (0.02 seconds)
Migrating: 2017_01_21_163556_create_cache_table
Migrated:  2017_01_21_163556_create_cache_table (0.01 seconds)
Migrating: 2017_01_21_163602_create_sessions_table
Migrated:  2017_01_21_163602_create_sessions_table (0.01 seconds)
Migrating: 2017_03_19_091553_create_search_index_table
Migrated:  2017_03_19_091553_create_search_index_table (0.06 seconds)
Migrating: 2017_04_20_185112_add_revision_counts
Migrated:  2017_04_20_185112_add_revision_counts (0.02 seconds)
Migrating: 2017_07_02_152834_update_db_encoding_to_ut8mb4
Migrated:  2017_07_02_152834_update_db_encoding_to_ut8mb4 (0 seconds)
Migrating: 2017_08_01_130541_create_comments_table
Migrated:  2017_08_01_130541_create_comments_table (0.02 seconds)
Migrating: 2017_08_29_102650_add_cover_image_display
Migrated:  2017_08_29_102650_add_cover_image_display (0.01 seconds)
Migrating: 2018_07_15_173514_add_role_external_auth_id
Migrated:  2018_07_15_173514_add_role_external_auth_id (0.01 seconds)
Migrating: 2018_08_04_115700_create_bookshelves_table
Migrated:  2018_08_04_115700_create_bookshelves_table (0.25 seconds)
Migrating: 2019_07_07_112515_add_template_support
Migrated:  2019_07_07_112515_add_template_support (0.02 seconds)
Migrating: 2019_08_17_140214_add_user_invites_table
Migrated:  2019_08_17_140214_add_user_invites_table (0.02 seconds)
Migrating: 2019_12_29_120917_add_api_auth
Migrated:  2019_12_29_120917_add_api_auth (0.04 seconds)
Migrating: 2020_08_04_111754_drop_joint_permissions_id

   Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `joint_permissions` add primary key `joint_primary`(`role_id`, `entity_type`, `entity_id`, `action`))

<exception trace removed>

Steps to Reproduce

  1. Follow https://www.bookstackapp.com/docs/admin/installation/#manual from step 1 to step 8
  2. Running step 8 produces the error.

Expected Behaviour

Migrations to be completed successfully and database to be successfully populated with tables.

Screenshots or Additional Context

No response

Exact BookStack Version

v21.10.3

PHP Version

7.4.25

Hosting Environment

Server version: 10.3.31-MariaDB-cll-lve - MariaDB Server

Originally created by @erickr on GitHub (Nov 10, 2021). ### Describe the Bug On a fresh installation with release v21.10.3 of bookstack and mariadb 10.3.31 the following error is shown on php artisan migrate ``` Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table (0.08 seconds) Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table (0.02 seconds) Migrating: 2015_07_12_114933_create_books_table Migrated: 2015_07_12_114933_create_books_table (0.01 seconds) Migrating: 2015_07_12_190027_create_pages_table Migrated: 2015_07_12_190027_create_pages_table (0 seconds) Migrating: 2015_07_13_172121_create_images_table Migrated: 2015_07_13_172121_create_images_table (0.01 seconds) Migrating: 2015_07_27_172342_create_chapters_table Migrated: 2015_07_27_172342_create_chapters_table (0.01 seconds) Migrating: 2015_08_08_200447_add_users_to_entities Migrated: 2015_08_08_200447_add_users_to_entities (0.02 seconds) Migrating: 2015_08_09_093534_create_page_revisions_table Migrated: 2015_08_09_093534_create_page_revisions_table (0 seconds) Migrating: 2015_08_16_142133_create_activities_table Migrated: 2015_08_16_142133_create_activities_table (0.01 seconds) Migrating: 2015_08_29_105422_add_roles_and_permissions Migrated: 2015_08_29_105422_add_roles_and_permissions (0.08 seconds) Migrating: 2015_08_30_125859_create_settings_table Migrated: 2015_08_30_125859_create_settings_table (0.01 seconds) Migrating: 2015_08_31_175240_add_search_indexes Migrated: 2015_08_31_175240_add_search_indexes (0 seconds) Migrating: 2015_09_04_165821_create_social_accounts_table Migrated: 2015_09_04_165821_create_social_accounts_table (0.02 seconds) Migrating: 2015_09_05_164707_add_email_confirmation_table Migrated: 2015_09_05_164707_add_email_confirmation_table (0.04 seconds) Migrating: 2015_11_21_145609_create_views_table Migrated: 2015_11_21_145609_create_views_table (0.01 seconds) Migrating: 2015_11_26_221857_add_entity_indexes Migrated: 2015_11_26_221857_add_entity_indexes (0.16 seconds) Migrating: 2015_12_05_145049_fulltext_weighting Migrated: 2015_12_05_145049_fulltext_weighting (0 seconds) Migrating: 2015_12_07_195238_add_image_upload_types Migrated: 2015_12_07_195238_add_image_upload_types (0.02 seconds) Migrating: 2015_12_09_195748_add_user_avatars Migrated: 2015_12_09_195748_add_user_avatars (0.01 seconds) Migrating: 2016_01_11_210908_add_external_auth_to_users Migrated: 2016_01_11_210908_add_external_auth_to_users (0.02 seconds) Migrating: 2016_02_25_184030_add_slug_to_revisions Migrated: 2016_02_25_184030_add_slug_to_revisions (0.02 seconds) Migrating: 2016_02_27_120329_update_permissions_and_roles Migrated: 2016_02_27_120329_update_permissions_and_roles (0.02 seconds) Migrating: 2016_02_28_084200_add_entity_access_controls Migrated: 2016_02_28_084200_add_entity_access_controls (0.07 seconds) Migrating: 2016_03_09_203143_add_page_revision_types Migrated: 2016_03_09_203143_add_page_revision_types (0.01 seconds) Migrating: 2016_03_13_082138_add_page_drafts Migrated: 2016_03_13_082138_add_page_drafts (0.02 seconds) Migrating: 2016_03_25_123157_add_markdown_support Migrated: 2016_03_25_123157_add_markdown_support (0.01 seconds) Migrating: 2016_04_09_100730_add_view_permissions_to_roles Migrated: 2016_04_09_100730_add_view_permissions_to_roles (0.01 seconds) Migrating: 2016_04_20_192649_create_joint_permissions_table Migrated: 2016_04_20_192649_create_joint_permissions_table (0.05 seconds) Migrating: 2016_05_06_185215_create_tags_table Migrated: 2016_05_06_185215_create_tags_table (0.02 seconds) Migrating: 2016_07_07_181521_add_summary_to_page_revisions Migrated: 2016_07_07_181521_add_summary_to_page_revisions (0 seconds) Migrating: 2016_09_29_101449_remove_hidden_roles Migrated: 2016_09_29_101449_remove_hidden_roles (0.01 seconds) Migrating: 2016_10_09_142037_create_attachments_table Migrated: 2016_10_09_142037_create_attachments_table (0.02 seconds) Migrating: 2017_01_21_163556_create_cache_table Migrated: 2017_01_21_163556_create_cache_table (0.01 seconds) Migrating: 2017_01_21_163602_create_sessions_table Migrated: 2017_01_21_163602_create_sessions_table (0.01 seconds) Migrating: 2017_03_19_091553_create_search_index_table Migrated: 2017_03_19_091553_create_search_index_table (0.06 seconds) Migrating: 2017_04_20_185112_add_revision_counts Migrated: 2017_04_20_185112_add_revision_counts (0.02 seconds) Migrating: 2017_07_02_152834_update_db_encoding_to_ut8mb4 Migrated: 2017_07_02_152834_update_db_encoding_to_ut8mb4 (0 seconds) Migrating: 2017_08_01_130541_create_comments_table Migrated: 2017_08_01_130541_create_comments_table (0.02 seconds) Migrating: 2017_08_29_102650_add_cover_image_display Migrated: 2017_08_29_102650_add_cover_image_display (0.01 seconds) Migrating: 2018_07_15_173514_add_role_external_auth_id Migrated: 2018_07_15_173514_add_role_external_auth_id (0.01 seconds) Migrating: 2018_08_04_115700_create_bookshelves_table Migrated: 2018_08_04_115700_create_bookshelves_table (0.25 seconds) Migrating: 2019_07_07_112515_add_template_support Migrated: 2019_07_07_112515_add_template_support (0.02 seconds) Migrating: 2019_08_17_140214_add_user_invites_table Migrated: 2019_08_17_140214_add_user_invites_table (0.02 seconds) Migrating: 2019_12_29_120917_add_api_auth Migrated: 2019_12_29_120917_add_api_auth (0.04 seconds) Migrating: 2020_08_04_111754_drop_joint_permissions_id Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `joint_permissions` add primary key `joint_primary`(`role_id`, `entity_type`, `entity_id`, `action`)) <exception trace removed> ``` ### Steps to Reproduce 1. Follow https://www.bookstackapp.com/docs/admin/installation/#manual from step 1 to step 8 2. Running step 8 produces the error. ### Expected Behaviour Migrations to be completed successfully and database to be successfully populated with tables. ### Screenshots or Additional Context _No response_ ### Exact BookStack Version v21.10.3 ### PHP Version 7.4.25 ### Hosting Environment Server version: 10.3.31-MariaDB-cll-lve - MariaDB Server
OVERLORD added the 🐛 Bug label 2026-02-05 04:18:04 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Nov 10, 2021):

Hi @erickr,
What operating system are you running this on?
Out of interest, Are you using and installer package like WAMP, XAMP or MAMP?

@ssddanbrown commented on GitHub (Nov 10, 2021): Hi @erickr, What operating system are you running this on? Out of interest, Are you using and installer package like WAMP, XAMP or MAMP?
Author
Owner

@erickr commented on GitHub (Nov 10, 2021):

Hi @erickr, What operating system are you running this on? Out of interest, Are you using and installer package like WAMP, XAMP or MAMP?

Its on a cpanel setup, running linux(i think cloudlinux, but I don't see how that is relevant?).
I went through the manual install steps.

@erickr commented on GitHub (Nov 10, 2021): > Hi @erickr, What operating system are you running this on? Out of interest, Are you using and installer package like WAMP, XAMP or MAMP? Its on a cpanel setup, running linux(i think cloudlinux, but I don't see how that is relevant?). I went through the manual install steps.
Author
Owner

@ssddanbrown commented on GitHub (Nov 10, 2021):

Okay, All helps to understand the environments where such issues occur. Often see this on WAMP setups.

I've seen this before where the database defaults to using the MYISAM engine. Some hosting environments set this as the default for legacy reasons but the database systems moved away a long time ago.
Do you have any ability to check/change the engine for the database/tables? Should ideally be InnoDB.

@ssddanbrown commented on GitHub (Nov 10, 2021): Okay, All helps to understand the environments where such issues occur. Often see this on WAMP setups. I've seen this before where the database defaults to using the MYISAM engine. Some hosting environments set this as the default for legacy reasons but the database systems moved away a long time ago. Do you have any ability to check/change the engine for the database/tables? Should ideally be InnoDB.
Author
Owner

@erickr commented on GitHub (Nov 10, 2021):

Okay, All helps to understand the environments where such issues occur. Often see this on WAMP setups.

I've seen this before where the database defaults to using the MYISAM engine. Some hosting environments set this as the default for legacy reasons but the database systems moved away a long time ago. Do you have any ability to check/change the engine for the database/tables? Should ideally be InnoDB.

Ah, good point, I'll look into that and see what I can come up with. Thanks!

@erickr commented on GitHub (Nov 10, 2021): > Okay, All helps to understand the environments where such issues occur. Often see this on WAMP setups. > > I've seen this before where the database defaults to using the MYISAM engine. Some hosting environments set this as the default for legacy reasons but the database systems moved away a long time ago. Do you have any ability to check/change the engine for the database/tables? Should ideally be InnoDB. Ah, good point, I'll look into that and see what I can come up with. Thanks!
Author
Owner

@erickr commented on GitHub (Nov 10, 2021):

@ssddanbrown Good pointer about innodb, I managed to get around the issue by adding
php DB::statement('SET default_storage_engine=INNODB');
to the up() method in 2014_10_12_000000_create_users_table.php and then re-run migrate in an empty database. It only changes the default storage engine for the current session, so I might bump into issues in future migrations possibly.

Ideally the engine should be set in the table closure as in the example on: https://laravel.com/docs/8.x/migrations#database-connection-table-options But that might interfer with running bookstack on other databases perhaps.
Another option might be to do something like the second answer here: https://stackoverflow.com/a/47183721 which would make it possible to add DB_ENGINE=INNODB to the .env-file.

Thanks @ssddanbrown for the quick pointer! :)

@erickr commented on GitHub (Nov 10, 2021): @ssddanbrown Good pointer about innodb, I managed to get around the issue by adding `php DB::statement('SET default_storage_engine=INNODB'); ` to the up() method in 2014_10_12_000000_create_users_table.php and then re-run migrate in an empty database. It only changes the default storage engine for the current session, so I might bump into issues in future migrations possibly. Ideally the engine should be set in the table closure as in the example on: https://laravel.com/docs/8.x/migrations#database-connection-table-options But that might interfer with running bookstack on other databases perhaps. Another option might be to do something like the second answer here: https://stackoverflow.com/a/47183721 which would make it possible to add DB_ENGINE=INNODB to the .env-file. Thanks @ssddanbrown for the quick pointer! :)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#2483