mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 00:29:48 +03:00
Database Issue on Upgrade to v0.30 #1855
Closed
opened 2026-02-05 02:03:42 +03:00 by OVERLORD
·
7 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#1855
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 @swizzle1 on GitHub (Sep 21, 2020).
The following error came up at the end of upgrading from v0.29.3 to v0.30:
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_permissionsadd primary keyjoint_primary(role_id,entity_type,entity_id,action))at /home/ino1jdl5c9we/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 Specified key was too long; max key length is 1000 bytes")
/home/ino1jdl5c9we/BookStack/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:131
2 PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")
/home/ino1jdl5c9we/BookStack/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:129
Please use the argument -v to see more details.
@ssddanbrown commented on GitHub (Sep 22, 2020):
Hi @swizzle1,
Can you provide any details regarding your database at all?
Ideally it would be great to know the MySQL or MariaDB version in use and the table engine. Table engine can be found by running
show table status like 'joint_permissions'on the bookstack database. Would also be ideal to know the Row Format on that table (Also shown by that command)@vlude commented on GitHub (Sep 22, 2020):
Hi Dan,
I am experiencing the same issue:
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_permissionsadd primary keyjoint_primary(role_id,entity_type,entity_id,action))at /home/vlude/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 Specified key was too long; max key length is 1000 bytes")
/home/vlude/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:131
2 PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")
/home/vlude/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:129
By running the above mentioned command on the bookstack DB:

DB version: 10.4.13-MariaDB - MariaDB Server
@swizzle1 commented on GitHub (Sep 22, 2020):
I'm running MySQL v5.6.49-cll-lve. The engine is MyISAM. The row format is Dynamic.
@philjak commented on GitHub (Sep 23, 2020):
InnoDB will fix this
@ssddanbrown commented on GitHub (Sep 26, 2020):
I don't really know if it's worthwhile trying to change this database migration for this case at this stage. I think this will mainly show up where 'MyISAM' is used.
With MyISAM slowly fading out of usage I'd suggest upgrading the relevant table to InnoDB instead as suggested by @philjak above. This can be done, for the table in question, like so:
Let me know if there are any issues encountered in doing this or if there any strong reasons why we might need to find an in-app strategy to fix.
@swizzle1 commented on GitHub (Sep 26, 2020):
Ok, thank you. I changed it to InnoDB and will see if there are any other issues in the future.
@vlude commented on GitHub (Oct 6, 2020):
Currently I am experiencing a different error, during php artisan migrate.
Version is .30.2
Migrating: 2020_08_04_111754_drop_joint_permissions_id
Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP COLUMN
id; check that it exists (SQL: alter tablejoint_permissionsdropid)at /home/vlude/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: 1091 Can't DROP COLUMN
id; check that it exists")/home/vlude/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:131
2 PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP COLUMN
id; check that it exists")/home/vlude/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:129