mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 00:29:48 +03:00
Error 1071 on "2020_08_04_111754_drop_joint_permissions_id" #1956
Closed
opened 2026-02-05 02:19:06 +03:00 by OVERLORD
·
6 comments
No Branch/Tag Specified
development
l10n_development
further_theme_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#1956
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ArlorNaturalScientific on GitHub (Nov 27, 2020).
Hello
I have that issue :
`C:\Wamp64\www\bookstack|► php artisan migrate:fresh
Do you really wish to run this command? (yes/no) [no]:
Dropped all tables successfully.
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.04 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.01 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.06 seconds)
Migrating: 2015_08_09_093534_create_page_revisions_table
Migrated: 2015_08_09_093534_create_page_revisions_table (0.01 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.18 seconds)
Migrating: 2015_08_30_125859_create_settings_table
Migrated: 2015_08_30_125859_create_settings_table (0.02 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.04 seconds)
Migrating: 2015_09_05_164707_add_email_confirmation_table
Migrated: 2015_09_05_164707_add_email_confirmation_table (0.07 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.34 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.04 seconds)
Migrating: 2015_12_09_195748_add_user_avatars
Migrated: 2015_12_09_195748_add_user_avatars (0.02 seconds)
Migrating: 2016_01_11_210908_add_external_auth_to_users
Migrated: 2016_01_11_210908_add_external_auth_to_users (0.04 seconds)
Migrating: 2016_02_25_184030_add_slug_to_revisions
Migrated: 2016_02_25_184030_add_slug_to_revisions (0.05 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.21 seconds)
Migrating: 2016_03_09_203143_add_page_revision_types
Migrated: 2016_03_09_203143_add_page_revision_types (0.04 seconds)
Migrating: 2016_03_13_082138_add_page_drafts
Migrated: 2016_03_13_082138_add_page_drafts (0.05 seconds)
Migrating: 2016_03_25_123157_add_markdown_support
Migrated: 2016_03_25_123157_add_markdown_support (0.04 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.19 seconds)
Migrating: 2016_05_06_185215_create_tags_table
Migrated: 2016_05_06_185215_create_tags_table (0.08 seconds)
Migrating: 2016_07_07_181521_add_summary_to_page_revisions
Migrated: 2016_07_07_181521_add_summary_to_page_revisions (0.02 seconds)
Migrating: 2016_09_29_101449_remove_hidden_roles
Migrated: 2016_09_29_101449_remove_hidden_roles (0.07 seconds)
Migrating: 2016_10_09_142037_create_attachments_table
Migrated: 2016_10_09_142037_create_attachments_table (0.03 seconds)
Migrating: 2017_01_21_163556_create_cache_table
Migrated: 2017_01_21_163556_create_cache_table (0.02 seconds)
Migrating: 2017_01_21_163602_create_sessions_table
Migrated: 2017_01_21_163602_create_sessions_table (0.02 seconds)
Migrating: 2017_03_19_091553_create_search_index_table
Migrated: 2017_03_19_091553_create_search_index_table (0.1 seconds)
Migrating: 2017_04_20_185112_add_revision_counts
Migrated: 2017_04_20_185112_add_revision_counts (0.05 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.05 seconds)
Migrating: 2017_08_29_102650_add_cover_image_display
Migrated: 2017_08_29_102650_add_cover_image_display (0.02 seconds)
Migrating: 2018_07_15_173514_add_role_external_auth_id
Migrated: 2018_07_15_173514_add_role_external_auth_id (0.04 seconds)
Migrating: 2018_08_04_115700_create_bookshelves_table
Migrated: 2018_08_04_115700_create_bookshelves_table (0.27 seconds)
Migrating: 2019_07_07_112515_add_template_support
Migrated: 2019_07_07_112515_add_template_support (0.06 seconds)
Migrating: 2019_08_17_140214_add_user_invites_table
Migrated: 2019_08_17_140214_add_user_invites_table (0.04 seconds)
Migrating: 2019_12_29_120917_add_api_auth
Migrated: 2019_12_29_120917_add_api_auth (0.06 seconds)
Migrating: 2020_08_04_111754_drop_joint_permissions_id
Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 La clé est trop longue. Longueur maximale: 1000 (SQL: alter table
joint_permissionsadd primary keyjoint_primary(role_id,entity_type,entity_id,action))at C:\Wamp64\www\bookstack\vendor\laravel\framework\src\Illuminate\Database\Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error
666| // message to include the bindings with SQL, which will make this exception a
667| // lot more helpful to the developer instead of just the database's errors.
668| catch (Exception $e) {
Exception trace:
1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 La clé est trop longue. Longueur maximale: 1000")
C:\Wamp64\www\bookstack\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php:131
2 PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 La clé est trop longue. Longueur maximale: 1000")
C:\Wamp64\www\bookstack\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php:129
Please use the argument -v to see more details.
C:\Wamp64\www\bookstack|►`
I already converted table to InnoDB, but the issue is always here.
The version of MySQL is : 5.7.31
Thanks a lot.
@ssddanbrown commented on GitHub (Nov 28, 2020):
Hi @ArlorNaturalScientific,
Sorry to hear you are experiencing issues.
When you say the following:
Have you seen the tables running on a non-InnoDB engine then?
My thinking is that maybe your database is defaulting to MyISAM by default. Although you have attempted converting the table to InnoDB, this would not help if you're running
php artisan migrate:freshsince the table will be destroyed then re-created.It would be good to confirm what engine the database/tables are using right after running the command.
@ArlorNaturalScientific commented on GitHub (Nov 28, 2020):
Hi ssddanbrown,
Please don't be confused.
You were right, I changed the default engine and install now works correctly :)
Many thanks 👍
@skabbes commented on GitHub (Mar 18, 2021):
If anyone else find this Github by searching this error, I encountered this error because I had duplicates existing in my
joint_permissionstable. (thought I am not sure why, however - we have probably close to 100 users creating books, so it is possible a concurrency issue. The reason this fails is because the migration2020_08_04_111754_drop_joint_permissions_idtried to add a primary key, but couldn't.I didn't care too much about the permissions in general, so I didn't spend very much time to getting them exactly correct, the query below was sufficient for my needs.
The fix was a bit manual, but I ended up running this directly in MySQL to solve it.
Then I ran
php artisan migrateone more time, and it was successful.I hope this helps someone else upgrading to Bookstack v0.31+.
@Tagirijus commented on GitHub (Oct 8, 2021):
I had a similar problem right now with BookStack v21.08.4 where it told me:
So I searched the web and found different solutions, which all did not work for me. My provider from my webspace asked me if the tables were in InnoDB .. apparently most of them were MyISAM though. I altered them all manually and tried to re-execute
php artisan migrate, which then threw:So I added it manually and did it again:
php artisan migrate. And then it workd.My provider told me that they have MyISAM set up as the default and recommended to try to set this in the database.php:
But this did not work for me. Only my manually fix like mentioned above.
Now my question is: is there something else I could try to not face such an issue later in case I want to update BookStack?
@bdabelow commented on GitHub (Feb 1, 2023):
For any one else finding this via web search, here are two hopefully cleaner approaches to solving this issue when the default DB engine cannot be changed (tested on v23.01).
Create additional migration
Create an additional migration that changes the engine for table joint_permissions right before the failing migration. This approach should work for any clean DB (no failed migrations) from pre-2020 versions.
Create a file
database/migrations/2020_08_04_111753_joint_permissions_engine_type.phpwith the following content:Force engine type
As mentioned by @Tagirijus: Configure Laravel to create all tables with engine InnoDB. This only works when starting with an empty DB.
In
app/Config/database.phpin the'mysql'array change'engine' => none,to'engine' => 'InnoDB',.Use at your own risk
Both approaches worked for me, but I am not familiar with the application, so cannot foresee every potential side effect.
@ssddanbrown Any interest in making engine in database.php configurable via env? I could try to come up with a PR.
@ssddanbrown commented on GitHub (Feb 1, 2023):
@ArlorNaturalScientific Not really to be honest, I don't want to introduce a separate concern/option that will need specific guidance, especially since the only scenario this should only occur in is sketchy hosting environments where the user may not be so technical. It'd be an awkward one to provide advice/guidance for in the scenario it'd be a problem.
Really, MyISAM should be obsolete, especially as a default.
There's a potential case for setting the default value to 'InnoDB', but I'd be hesitant with that too due to the unforeseeable consequences with that kind of change.
There's been relatively little report of this as an issue, and it should only ever become lesser of an issue so I'm not sure it's worth actioning and widening configuration support for in 2023.