Fail loading page after upgrade from 25.7.3 to 25.11.0 #5488

Closed
opened 2026-02-05 10:06:11 +03:00 by OVERLORD · 22 comments
Owner

Originally created by @Janfy on GitHub (Nov 10, 2025).

Attempted Debugging

  • I have read the debugging page

Searched GitHub Issues

  • I have searched GitHub for the issue.

Describe the Scenario

Hi

I've just upgrade from bookstack 25.7.3 to 25.11.0.
Application starts correctly, i'm able to log in, browse books, shelves, but 've got an error browsing pages :

An unknown error occurred

Error occurs on any page.

I restarted the container twice, but error still occurs.
I try to run migration manually, but i've got the same message as start logs : INFO Nothing to migrate.

Did i miss a migration step ?
Could you help me ?

Best regards.

Exact BookStack Version

25.11.0

Log Content

container startup log:


wait-for-db: waiting for bookstack-db:3306
Starting Migration...
wait-for-db: done

   INFO  Nothing to migrate.  

Clearing caches...

   INFO  Application cache cleared successfully.  


   INFO  Compiled views cleared successfully.  

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.201. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.201. Set the 'ServerName' directive globally to suppress this message
[Mon Nov 10 09:16:42.877006 2025[] [mpm_prefork:notice[] [pid 1:tid 1] AH00163: Apache/2.4.65 (Debian) PHP/8.4.14 configured -- resuming normal operations
[Mon Nov 10 09:16:42.877067 2025[] [core:notice[] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'


laravel.log

[2025-11-10 09:17:28] production.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' (Connection: mysql, SQL: select * from `entities` left join `entity_page_data` on `entity_page_data`.`page_id` = `entities`.`id` where (`draft` = 0 or (`draft` = 1 and `owned_by` = 2)) and (exists (select `entity_id`, `entity_type`, max(owner_id) as owner_id, max(status) as status from `joint_permissions` where `entities`.`id` = `joint_permissions`.`entity_id` and `joint_permissions`.`entity_type` = page and `role_id` in (4) group by `entity_type`, `entity_id` having (status IN (1, 3) or (owner_id = 2 and status != 2)))) and exists (select * from `entities` as `laravel_reserved_0` left join `entity_container_data` on `entity_container_data`.`entity_id` = `entities`.`id` and `entity_container_data`.`entity_type` = book where `laravel_reserved_0`.`id` = `entities`.`book_id` and `slug` = fis-forge and `type` = book) and `slug` = etude-deploiement-automatise-vers-toutes-zones-reseau and `type` = page and `entities`.`deleted_at` is null limit 1) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' (Connection: mysql, SQL: select * from `entities` left join `entity_page_data` on `entity_page_data`.`page_id` = `entities`.`id` where (`draft` = 0 or (`draft` = 1 and `owned_by` = 2)) and (exists (select `entity_id`, `entity_type`, max(owner_id) as owner_id, max(status) as status from `joint_permissions` where `entities`.`id` = `joint_permissions`.`entity_id` and `joint_permissions`.`entity_type` = page and `role_id` in (4) group by `entity_type`, `entity_id` having (status IN (1, 3) or (owner_id = 2 and status != 2)))) and exists (select * from `entities` as `laravel_reserved_0` left join `entity_container_data` on `entity_container_data`.`entity_id` = `entities`.`id` and `entity_container_data`.`entity_type` = book where `laravel_reserved_0`.`id` = `entities`.`book_id` and `slug` = fis-forge and `type` = book) and `slug` = etude-deploiement-automatise-vers-toutes-zones-reseau and `type` = page and `entities`.`deleted_at` is null limit 1) at /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824)
[stacktrace]
#0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(778): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(397): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure))
#2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3188): Illuminate\\Database\\Connection->select('select * from `...', Array, true)
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3173): Illuminate\\Database\\Query\\Builder->runSelect()
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3763): Illuminate\\Database\\Query\\Builder->{closure:Illuminate\\Database\\Query\\Builder::get():3172}()
#5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3172): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure))
#6 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(902): Illuminate\\Database\\Query\\Builder->get(Array)
#7 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(884): Illuminate\\Database\\Eloquent\\Builder->getModels(Array)
#8 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(366): Illuminate\\Database\\Eloquent\\Builder->get(Array)
#9 /var/www/bookstack/app/Entities/Queries/PageQueries.php(57): Illuminate\\Database\\Eloquent\\Builder->first()
#10 /var/www/bookstack/app/Entities/Controllers/PageController.php(141): BookStack\\Entities\\Queries\\PageQueries->findVisibleBySlugsOrFail('fis-forge', 'etude-deploieme...')
#11 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Entities\\Controllers\\PageController->show('fis-forge', 'etude-deploieme...')
#12 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('show', Array)
#13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(265): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(BookStack\\Entities\\Controllers\\PageController), 'show')
#14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(211): Illuminate\\Routing\\Route->runController()
#15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#16 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}(Object(BookStack\\Http\\Request))
#17 /var/www/bookstack/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request))
#18 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Authenticate->handle(Object(BookStack\\Http\\Request), Object(Closure))
#19 /var/www/bookstack/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#20 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Localization->handle(Object(BookStack\\Http\\Request), Object(Closure))
#21 /var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#22 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\RunThemeActions->handle(Object(BookStack\\Http\\Request), Object(Closure))
#23 /var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#24 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle(Object(BookStack\\Http\\Request), Object(Closure))
#25 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(BookStack\\Http\\Request), Object(Closure))
#27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(BookStack\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(BookStack\\Http\\Request), Object(Closure))
#34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#36 /var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\ApplyCspRules->handle(Object(BookStack\\Http\\Request), Object(Closure))
#38 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Request))
#41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute(Object(BookStack\\Http\\Request), Object(Illuminate\\Routing\\Route))
#42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute(Object(BookStack\\Http\\Request))
#43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(BookStack\\Http\\Request))
#44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}(Object(BookStack\\Http\\Request))
#45 /var/www/bookstack/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request))
#46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\PreventResponseCaching->handle(Object(BookStack\\Http\\Request), Object(Closure))
#47 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#48 /var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#50 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(BookStack\\Http\\Request), Object(Closure))
#52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(BookStack\\Http\\Request), Object(Closure))
#53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(BookStack\\Http\\Request), Object(Closure))
#55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(BookStack\\Http\\Request), Object(Closure))
#57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#58 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#59 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(BookStack\\Http\\Request))
#60 /var/www/bookstack/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle(Object(BookStack\\Http\\Request))
#61 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' at /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:406)
[stacktrace]
#0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(406): PDO->prepare('select * from `...')
#1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(811): Illuminate\\Database\\Connection->{closure:Illuminate\\Database\\Connection::select():397}('select * from `...', Array)
#2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(778): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(397): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure))
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3188): Illuminate\\Database\\Connection->select('select * from `...', Array, true)
#5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3173): Illuminate\\Database\\Query\\Builder->runSelect()
#6 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3763): Illuminate\\Database\\Query\\Builder->{closure:Illuminate\\Database\\Query\\Builder::get():3172}()
#7 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3172): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure))
#8 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(902): Illuminate\\Database\\Query\\Builder->get(Array)
#9 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(884): Illuminate\\Database\\Eloquent\\Builder->getModels(Array)
#10 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(366): Illuminate\\Database\\Eloquent\\Builder->get(Array)
#11 /var/www/bookstack/app/Entities/Queries/PageQueries.php(57): Illuminate\\Database\\Eloquent\\Builder->first()
#12 /var/www/bookstack/app/Entities/Controllers/PageController.php(141): BookStack\\Entities\\Queries\\PageQueries->findVisibleBySlugsOrFail('fis-forge', 'etude-deploieme...')
#13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Entities\\Controllers\\PageController->show('fis-forge', 'etude-deploieme...')
#14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('show', Array)
#15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(265): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(BookStack\\Entities\\Controllers\\PageController), 'show')
#16 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(211): Illuminate\\Routing\\Route->runController()
#17 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#18 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}(Object(BookStack\\Http\\Request))
#19 /var/www/bookstack/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request))
#20 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Authenticate->handle(Object(BookStack\\Http\\Request), Object(Closure))
#21 /var/www/bookstack/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#22 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Localization->handle(Object(BookStack\\Http\\Request), Object(Closure))
#23 /var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#24 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\RunThemeActions->handle(Object(BookStack\\Http\\Request), Object(Closure))
#25 /var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle(Object(BookStack\\Http\\Request), Object(Closure))
#27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(BookStack\\Http\\Request), Object(Closure))
#29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(BookStack\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(BookStack\\Http\\Request), Object(Closure))
#36 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#38 /var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\ApplyCspRules->handle(Object(BookStack\\Http\\Request), Object(Closure))
#40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Request))
#43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute(Object(BookStack\\Http\\Request), Object(Illuminate\\Routing\\Route))
#44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute(Object(BookStack\\Http\\Request))
#45 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(BookStack\\Http\\Request))
#46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}(Object(BookStack\\Http\\Request))
#47 /var/www/bookstack/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request))
#48 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\PreventResponseCaching->handle(Object(BookStack\\Http\\Request), Object(Closure))
#49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#50 /var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(BookStack\\Http\\Request), Object(Closure))
#54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(BookStack\\Http\\Request), Object(Closure))
#55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(BookStack\\Http\\Request), Object(Closure))
#57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#58 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(BookStack\\Http\\Request), Object(Closure))
#59 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request))
#60 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#61 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(BookStack\\Http\\Request))
#62 /var/www/bookstack/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle(Object(BookStack\\Http\\Request))
#63 {main}
"}

Hosting Environment

Hosted on k8s using simple deployment.yml file

Image : solidnerd/bookstack:25.11.0@sha256:cdf6e3e6c486f036b08c39a3b6fe847592c3b26f8c7a278d21e9ba35a85cf27f

Database image : mysql:5.7.44@sha256:4bc6bc963e6d8443453676cae56536f4b8156d78bae03c0145cbe47c2aad73bb

Originally created by @Janfy on GitHub (Nov 10, 2025). ### Attempted Debugging - [x] I have read the debugging page ### Searched GitHub Issues - [x] I have searched GitHub for the issue. ### Describe the Scenario Hi I've just upgrade from bookstack 25.7.3 to 25.11.0. Application starts correctly, i'm able to log in, browse books, shelves, but 've got an error browsing pages : ``` An unknown error occurred ``` Error occurs on any page. I restarted the container twice, but error still occurs. I try to run migration manually, but i've got the same message as start logs : ` INFO Nothing to migrate. ` Did i miss a migration step ? Could you help me ? Best regards. ### Exact BookStack Version 25.11.0 ### Log Content ```text container startup log: wait-for-db: waiting for bookstack-db:3306 Starting Migration... wait-for-db: done INFO Nothing to migrate. Clearing caches... INFO Application cache cleared successfully. INFO Compiled views cleared successfully. AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.201. Set the 'ServerName' directive globally to suppress this message AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.201. Set the 'ServerName' directive globally to suppress this message [Mon Nov 10 09:16:42.877006 2025[] [mpm_prefork:notice[] [pid 1:tid 1] AH00163: Apache/2.4.65 (Debian) PHP/8.4.14 configured -- resuming normal operations [Mon Nov 10 09:16:42.877067 2025[] [core:notice[] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND' laravel.log [2025-11-10 09:17:28] production.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' (Connection: mysql, SQL: select * from `entities` left join `entity_page_data` on `entity_page_data`.`page_id` = `entities`.`id` where (`draft` = 0 or (`draft` = 1 and `owned_by` = 2)) and (exists (select `entity_id`, `entity_type`, max(owner_id) as owner_id, max(status) as status from `joint_permissions` where `entities`.`id` = `joint_permissions`.`entity_id` and `joint_permissions`.`entity_type` = page and `role_id` in (4) group by `entity_type`, `entity_id` having (status IN (1, 3) or (owner_id = 2 and status != 2)))) and exists (select * from `entities` as `laravel_reserved_0` left join `entity_container_data` on `entity_container_data`.`entity_id` = `entities`.`id` and `entity_container_data`.`entity_type` = book where `laravel_reserved_0`.`id` = `entities`.`book_id` and `slug` = fis-forge and `type` = book) and `slug` = etude-deploiement-automatise-vers-toutes-zones-reseau and `type` = page and `entities`.`deleted_at` is null limit 1) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' (Connection: mysql, SQL: select * from `entities` left join `entity_page_data` on `entity_page_data`.`page_id` = `entities`.`id` where (`draft` = 0 or (`draft` = 1 and `owned_by` = 2)) and (exists (select `entity_id`, `entity_type`, max(owner_id) as owner_id, max(status) as status from `joint_permissions` where `entities`.`id` = `joint_permissions`.`entity_id` and `joint_permissions`.`entity_type` = page and `role_id` in (4) group by `entity_type`, `entity_id` having (status IN (1, 3) or (owner_id = 2 and status != 2)))) and exists (select * from `entities` as `laravel_reserved_0` left join `entity_container_data` on `entity_container_data`.`entity_id` = `entities`.`id` and `entity_container_data`.`entity_type` = book where `laravel_reserved_0`.`id` = `entities`.`book_id` and `slug` = fis-forge and `type` = book) and `slug` = etude-deploiement-automatise-vers-toutes-zones-reseau and `type` = page and `entities`.`deleted_at` is null limit 1) at /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:824) [stacktrace] #0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(778): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure)) #1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(397): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure)) #2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3188): Illuminate\\Database\\Connection->select('select * from `...', Array, true) #3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3173): Illuminate\\Database\\Query\\Builder->runSelect() #4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3763): Illuminate\\Database\\Query\\Builder->{closure:Illuminate\\Database\\Query\\Builder::get():3172}() #5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3172): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure)) #6 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(902): Illuminate\\Database\\Query\\Builder->get(Array) #7 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(884): Illuminate\\Database\\Eloquent\\Builder->getModels(Array) #8 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(366): Illuminate\\Database\\Eloquent\\Builder->get(Array) #9 /var/www/bookstack/app/Entities/Queries/PageQueries.php(57): Illuminate\\Database\\Eloquent\\Builder->first() #10 /var/www/bookstack/app/Entities/Controllers/PageController.php(141): BookStack\\Entities\\Queries\\PageQueries->findVisibleBySlugsOrFail('fis-forge', 'etude-deploieme...') #11 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Entities\\Controllers\\PageController->show('fis-forge', 'etude-deploieme...') #12 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('show', Array) #13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(265): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(BookStack\\Entities\\Controllers\\PageController), 'show') #14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(211): Illuminate\\Routing\\Route->runController() #15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run() #16 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}(Object(BookStack\\Http\\Request)) #17 /var/www/bookstack/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request)) #18 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Authenticate->handle(Object(BookStack\\Http\\Request), Object(Closure)) #19 /var/www/bookstack/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #20 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Localization->handle(Object(BookStack\\Http\\Request), Object(Closure)) #21 /var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #22 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\RunThemeActions->handle(Object(BookStack\\Http\\Request), Object(Closure)) #23 /var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #24 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle(Object(BookStack\\Http\\Request), Object(Closure)) #25 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(BookStack\\Http\\Request), Object(Closure)) #27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(BookStack\\Http\\Request), Object(Closure)) #29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(BookStack\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure)) #31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle(Object(BookStack\\Http\\Request), Object(Closure)) #32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(BookStack\\Http\\Request), Object(Closure)) #34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(BookStack\\Http\\Request), Object(Closure)) #36 /var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\ApplyCspRules->handle(Object(BookStack\\Http\\Request), Object(Closure)) #38 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Request)) #41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute(Object(BookStack\\Http\\Request), Object(Illuminate\\Routing\\Route)) #42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute(Object(BookStack\\Http\\Request)) #43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(BookStack\\Http\\Request)) #44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}(Object(BookStack\\Http\\Request)) #45 /var/www/bookstack/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request)) #46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\PreventResponseCaching->handle(Object(BookStack\\Http\\Request), Object(Closure)) #47 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #48 /var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure)) #49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure)) #50 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(BookStack\\Http\\Request), Object(Closure)) #52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(BookStack\\Http\\Request), Object(Closure)) #53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(BookStack\\Http\\Request), Object(Closure)) #55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(BookStack\\Http\\Request), Object(Closure)) #57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #58 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #59 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(BookStack\\Http\\Request)) #60 /var/www/bookstack/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle(Object(BookStack\\Http\\Request)) #61 {main} [previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' at /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:406) [stacktrace] #0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(406): PDO->prepare('select * from `...') #1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(811): Illuminate\\Database\\Connection->{closure:Illuminate\\Database\\Connection::select():397}('select * from `...', Array) #2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(778): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure)) #3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(397): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure)) #4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3188): Illuminate\\Database\\Connection->select('select * from `...', Array, true) #5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3173): Illuminate\\Database\\Query\\Builder->runSelect() #6 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3763): Illuminate\\Database\\Query\\Builder->{closure:Illuminate\\Database\\Query\\Builder::get():3172}() #7 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3172): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure)) #8 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(902): Illuminate\\Database\\Query\\Builder->get(Array) #9 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(884): Illuminate\\Database\\Eloquent\\Builder->getModels(Array) #10 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(366): Illuminate\\Database\\Eloquent\\Builder->get(Array) #11 /var/www/bookstack/app/Entities/Queries/PageQueries.php(57): Illuminate\\Database\\Eloquent\\Builder->first() #12 /var/www/bookstack/app/Entities/Controllers/PageController.php(141): BookStack\\Entities\\Queries\\PageQueries->findVisibleBySlugsOrFail('fis-forge', 'etude-deploieme...') #13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Entities\\Controllers\\PageController->show('fis-forge', 'etude-deploieme...') #14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('show', Array) #15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(265): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(BookStack\\Entities\\Controllers\\PageController), 'show') #16 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(211): Illuminate\\Routing\\Route->runController() #17 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run() #18 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}(Object(BookStack\\Http\\Request)) #19 /var/www/bookstack/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request)) #20 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Authenticate->handle(Object(BookStack\\Http\\Request), Object(Closure)) #21 /var/www/bookstack/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #22 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Localization->handle(Object(BookStack\\Http\\Request), Object(Closure)) #23 /var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #24 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\RunThemeActions->handle(Object(BookStack\\Http\\Request), Object(Closure)) #25 /var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle(Object(BookStack\\Http\\Request), Object(Closure)) #27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(BookStack\\Http\\Request), Object(Closure)) #29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(BookStack\\Http\\Request), Object(Closure)) #31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(BookStack\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure)) #33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle(Object(BookStack\\Http\\Request), Object(Closure)) #34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(BookStack\\Http\\Request), Object(Closure)) #36 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(BookStack\\Http\\Request), Object(Closure)) #38 /var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\ApplyCspRules->handle(Object(BookStack\\Http\\Request), Object(Closure)) #40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Request)) #43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute(Object(BookStack\\Http\\Request), Object(Illuminate\\Routing\\Route)) #44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute(Object(BookStack\\Http\\Request)) #45 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(BookStack\\Http\\Request)) #46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}(Object(BookStack\\Http\\Request)) #47 /var/www/bookstack/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}(Object(BookStack\\Http\\Request)) #48 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\PreventResponseCaching->handle(Object(BookStack\\Http\\Request), Object(Closure)) #49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #50 /var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure)) #51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure)) #52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(BookStack\\Http\\Request), Object(Closure)) #54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(BookStack\\Http\\Request), Object(Closure)) #55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(BookStack\\Http\\Request), Object(Closure)) #57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #58 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(BookStack\\Http\\Request), Object(Closure)) #59 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}(Object(BookStack\\Http\\Request)) #60 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #61 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(BookStack\\Http\\Request)) #62 /var/www/bookstack/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle(Object(BookStack\\Http\\Request)) #63 {main} "} ``` ### Hosting Environment Hosted on k8s using simple deployment.yml file Image : `solidnerd/bookstack:25.11.0@sha256:cdf6e3e6c486f036b08c39a3b6fe847592c3b26f8c7a278d21e9ba35a85cf27f` Database image : `mysql:5.7.44@sha256:4bc6bc963e6d8443453676cae56536f4b8156d78bae03c0145cbe47c2aad73bb`
OVERLORD added the 🐛 Bug💿 Database🚀 Priority🏭 Back-End labels 2026-02-05 10:06:11 +03:00
Author
Owner

@Janfy commented on GitHub (Nov 10, 2025):

First start logs on 25.11.0:

[Sun Nov 09 22:26:50.966965 2025] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully
[Sun Nov 09 22:26:44.648627 2025] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Sun Nov 09 22:26:44.648577 2025] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.65 (Debian) PHP/8.4.14 configured -- resuming normal operations
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.15. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.15. Set the 'ServerName' directive globally to suppress this message
   INFO  Compiled views cleared successfully.
   INFO  Application cache cleared successfully.
Clearing caches...
  2025_10_22_134507_update_comments_relation_field_names ........ 53.03ms DONE
  2025_10_18_163331_clean_user_id_references ......................... 9s DONE
  2025_09_15_134813_drop_old_entity_tables ..................... 184.65ms DONE
  2025_09_15_134751_update_entity_relation_columns .................. 31s DONE
  2025_09_15_134701_migrate_entity_data .............................. 2s DONE
  2025_09_15_132850_create_entities_table ...................... 221.63ms DONE
  2025_09_02_111542_remove_unused_columns ...................... 581.07ms DONE
   INFO  Running migrations.
wait-for-db: done
Starting Migration...
wait-for-db: waiting for bookstack-db:3306
@Janfy commented on GitHub (Nov 10, 2025): First start logs on 25.11.0: ``` [Sun Nov 09 22:26:50.966965 2025] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully [Sun Nov 09 22:26:44.648627 2025] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND' [Sun Nov 09 22:26:44.648577 2025] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.65 (Debian) PHP/8.4.14 configured -- resuming normal operations AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.15. Set the 'ServerName' directive globally to suppress this message AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.233.118.15. Set the 'ServerName' directive globally to suppress this message INFO Compiled views cleared successfully. INFO Application cache cleared successfully. Clearing caches... 2025_10_22_134507_update_comments_relation_field_names ........ 53.03ms DONE 2025_10_18_163331_clean_user_id_references ......................... 9s DONE 2025_09_15_134813_drop_old_entity_tables ..................... 184.65ms DONE 2025_09_15_134751_update_entity_relation_columns .................. 31s DONE 2025_09_15_134701_migrate_entity_data .............................. 2s DONE 2025_09_15_132850_create_entities_table ...................... 221.63ms DONE 2025_09_02_111542_remove_unused_columns ...................... 581.07ms DONE INFO Running migrations. wait-for-db: done Starting Migration... wait-for-db: waiting for bookstack-db:3306 ```
Author
Owner

@Sinepel commented on GitHub (Nov 10, 2025):

Hi !

I’m experiencing the same issue after upgrading from v25.7.3 to v25.11.0.
All caches have been cleared and there’s nothing left to migrate.

Here’s the error from the logs (path anonymized):

[previous exception] [object] (PDOException(code: 42S22): 
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' 
at /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:406)
[stacktrace]

Thanks for your help

@Sinepel commented on GitHub (Nov 10, 2025): Hi ! I’m experiencing the same issue after upgrading from v25.7.3 to v25.11.0. All caches have been cleared and there’s nothing left to migrate. Here’s the error from the logs (path anonymized): ``` [previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' at /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:406) [stacktrace] ``` Thanks for your help
Author
Owner

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

@Janfy That's quite strange, those container start logs show it going through the database upgrades as expected, so not sure why you're getting an error about missing the required table.

If you manually inspect the database, is there a entities table, with an id column? If so, is there lots of data already in this table?

@Sinepel Any details in regards to how this installation was installed, or how it's ran? Did you observe similar migration command output somewhat like that shown above?

@ssddanbrown commented on GitHub (Nov 10, 2025): @Janfy That's quite strange, those container start logs show it going through the database upgrades as expected, so not sure why you're getting an error about missing the required table. If you manually inspect the database, is there a `entities` table, with an `id` column? If so, is there lots of data already in this table? @Sinepel Any details in regards to how this installation was installed, or how it's ran? Did you observe similar migration command output somewhat like that shown above?
Author
Owner

@Sinepel commented on GitHub (Nov 10, 2025):

Hello, all migrations were completed successfully. The entities table has an id column with about 140 rows. I’m running PHP 8.2 and Apache 2.4 on a standard LAMP stack (no Docker).

@Sinepel commented on GitHub (Nov 10, 2025): Hello, all migrations were completed successfully. The entities table has an id column with about 140 rows. I’m running PHP 8.2 and Apache 2.4 on a standard LAMP stack (no Docker).
Author
Owner

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

So the table, column, and data exists, but it can't see it. Strange!
I copied out the query from the error log provided by @Janfy, and ran that against my local database to ensure the query itself was not the issue, and that works fine.

Could maybe occur if the table was not viewable to the used database connection account, but that would be odd since it should have been created by the same user.

@Sinepel Do you know what version of MySQL-server you're running?

@ssddanbrown commented on GitHub (Nov 10, 2025): So the table, column, and data exists, but it can't see it. Strange! I copied out the query from the error log provided by @Janfy, and ran that against my local database to ensure the query itself was not the issue, and that works fine. Could maybe occur if the table was not viewable to the used database connection account, but that would be odd since it should have been created by the same user. @Sinepel Do you know what version of MySQL-server you're running?
Author
Owner

@Sinepel commented on GitHub (Nov 10, 2025):

Hi @ssddanbrown 👋

MySQL 5.7.27, PHP 8.2, Apache 2.4

The entities table exists and contains data (see attached screenshot).
All migrations return “Nothing to migrate.”
git pull shows Already up-to-date.
composer install and cache clears run successfully.
Still getting the “An unknown error occurred” message on every page view.

Screenshots attached:
1️⃣ entities table visible with data
2️⃣ migration result (Nothing to migrate.)
3️⃣ repo pull (Already up-to-date)
4️⃣ composer install output
5️⃣ error screen

Thanks for your help! 🙏

Image Image Image Image Image
@Sinepel commented on GitHub (Nov 10, 2025): Hi @ssddanbrown 👋 MySQL 5.7.27, PHP 8.2, Apache 2.4 The entities table exists and contains data (see attached screenshot). All migrations return “Nothing to migrate.” git pull shows Already up-to-date. composer install and cache clears run successfully. Still getting the “An unknown error occurred” message on every page view. Screenshots attached: 1️⃣ entities table visible with data 2️⃣ migration result (Nothing to migrate.) 3️⃣ repo pull (Already up-to-date) 4️⃣ composer install output 5️⃣ error screen Thanks for your help! 🙏 <img width="1542" height="764" alt="Image" src="https://github.com/user-attachments/assets/e8874902-9fec-4d0d-a5af-36999fd28684" /> <img width="2044" height="558" alt="Image" src="https://github.com/user-attachments/assets/9db88b1c-d0ec-4e02-8685-63b19d9c3e3f" /> <img width="1288" height="210" alt="Image" src="https://github.com/user-attachments/assets/60a6f03b-f165-473b-98b3-07f8fb3884b3" /> <img width="2048" height="702" alt="Image" src="https://github.com/user-attachments/assets/92d82cb4-27d8-429e-b143-e88f56685438" /> <img width="1898" height="806" alt="Image" src="https://github.com/user-attachments/assets/9f41fc55-aa54-494c-a8a2-a939bfad470a" />
Author
Owner

@arnauos commented on GitHub (Nov 10, 2025):

Hi, same issue here, after doing upgrade>migration all books load to "unknown error".

I'm still running a fairly old mysql version (5.7.44) so that may be the issue in my case? (it's listed as supported and I'm working on upgrading this before '26)

The errors I do see reference entities.id but I do see the field on the table and user permissions look fine.

Example error:
[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:406)

I did rollback and restored the database backup and everything looks fine for now.

@arnauos commented on GitHub (Nov 10, 2025): Hi, same issue here, after doing upgrade>migration all books load to "unknown error". I'm still running a fairly old mysql version (5.7.44) so that may be the issue in my case? (it's listed as supported and I'm working on upgrading this before '26) The errors I do see reference entities.id but I do see the field on the table and user permissions look fine. Example error: `[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'entities.id' in 'on clause' at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:406)` I did rollback and restored the database backup and everything looks fine for now.
Author
Owner

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

Thanks @Sinepel and @arnauos for the extra information.

Yeah, I'm wondering if this is an older MySQL issue, or potentially environment where old database engines are in use. leading to MyISAM tables which can sometimes cause problems.

I'd be interested to see the output/result of the below SQL for any databases with issues, just to confirm if other engines are in play or not:

SELECT TABLE_NAME,
       ENGINE
FROM   information_schema.TABLES
WHERE  TABLE_SCHEMA = 'bookstack';

(You might need to change bookstack if your bookstack DB has a different name)

@ssddanbrown commented on GitHub (Nov 10, 2025): Thanks @Sinepel and @arnauos for the extra information. Yeah, I'm wondering if this is an older MySQL issue, or potentially environment where old database engines are in use. leading to MyISAM tables which can sometimes cause problems. I'd be interested to see the output/result of the below SQL for any databases with issues, just to confirm if other engines are in play or not: ```sql SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'bookstack'; ``` (You might need to change `bookstack` if your bookstack DB has a different name)
Author
Owner

@arnauos commented on GitHub (Nov 10, 2025):

Thanks @Sinepel and @arnauos for the extra information.

Yeah, I'm wondering if this is an older MySQL issue, or potentially environment where old database engines are in use. leading to MyISAM tables which can sometimes cause problems.

I'd be interested to see the output/result of the below SQL for any databases with issues, just to confirm if other engines are in play or not:

SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'bookstack';
(You might need to change bookstack if your bookstack DB has a different name)

INNODB for all tables in my case

@arnauos commented on GitHub (Nov 10, 2025): > Thanks [@Sinepel](https://github.com/Sinepel) and [@arnauos](https://github.com/arnauos) for the extra information. > > Yeah, I'm wondering if this is an older MySQL issue, or potentially environment where old database engines are in use. leading to MyISAM tables which can sometimes cause problems. > > I'd be interested to see the output/result of the below SQL for any databases with issues, just to confirm if other engines are in play or not: > > SELECT TABLE_NAME, > ENGINE > FROM information_schema.TABLES > WHERE TABLE_SCHEMA = 'bookstack'; > (You might need to change `bookstack` if your bookstack DB has a different name) INNODB for all tables in my case
Author
Owner

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

Thanks @arnauos, that's helpful to rule out engine differences.

I have a potential lead now looking at the queries involved in deeper detail.
I'll do some deeper validation and testing tonight, and if I'm on the right trail, aim to produce a patch for tomorrow.

Dev notes

From an initial deeper dive, looks possibly related to how we're auto loading in related data via the entity scope with hard-coded table names for the join, but behind the scenes the tables involved can become aliases due to being in sub queries like this one here (which I believe reflects those in the reported error logs). This may not be usable in (some versions of) MySQL?

@ssddanbrown commented on GitHub (Nov 10, 2025): Thanks @arnauos, that's helpful to rule out engine differences. I have a potential lead now looking at the queries involved in deeper detail. I'll do some deeper validation and testing tonight, and if I'm on the right trail, aim to produce a patch for tomorrow. ### Dev notes From an initial deeper dive, looks possibly related to how we're auto loading in related data via the [entity scope](https://github.com/BookStackApp/BookStack/blob/4c7d6420ee6ab08c5d1df5221962d84abcb89b21/app/Entities/Models/EntityScope.php#L21-L24) with hard-coded table names for the join, but behind the scenes the tables involved can become aliases due to being in sub queries [like this one here](https://github.com/BookStackApp/BookStack/blob/4c7d6420ee6ab08c5d1df5221962d84abcb89b21/app/Entities/Queries/PageQueries.php#L54) (which I believe reflects those in the reported error logs). This may not be usable in (some versions of) MySQL?
Author
Owner

@Sinepel commented on GitHub (Nov 10, 2025):

Hi !

InnoDb too

Image
@Sinepel commented on GitHub (Nov 10, 2025): Hi ! InnoDb too <img width="255" height="730" alt="Image" src="https://github.com/user-attachments/assets/ae949d2f-f71a-4482-bc21-b477204b60e8" />
Author
Owner

@Janfy commented on GitHub (Nov 10, 2025):

idem: INNODB for all tables

@Janfy commented on GitHub (Nov 10, 2025): idem: INNODB for all tables
Author
Owner

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

Following on from my comment above, replicating a similar simplified scenario of what I think is the issue, against MySQL the latest mysql:5.7 and mysql:8 containers leads to it causing the same fundamental error in the 5.7 container, but not in the 8 container. So I'm fairly confident this is due to how we're running sub queries with joins and aliases, and using the actual table name instead of the alias which Laravel is creating.

Now onto addressing in the code-base.

@ssddanbrown commented on GitHub (Nov 10, 2025): Following on from [my comment above](https://github.com/BookStackApp/BookStack/issues/5877#issuecomment-3511531943), replicating a similar simplified scenario of what I think is the issue, against MySQL the latest mysql:5.7 and mysql:8 containers leads to it causing the same fundamental error in the 5.7 container, but not in the 8 container. So I'm fairly confident this is due to how we're running sub queries with joins and aliases, and using the actual table name instead of the alias which Laravel is creating. Now onto addressing in the code-base.
Author
Owner

@doxliy89 commented on GitHub (Nov 10, 2025):

Got same problem.
mysql 8.0.43-0
ubuntu 24.04.2
nginx 1.26
php 8.3

installed a long time ago via script from manual

Last nginx error log messages before rollback to snapshot

[error] 2825452#2825452: *666806 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Illuminate\Container\array_last() in /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php:1323
Stack trace:
#0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(1154): Illuminate\Container\Container->getLastParameterOverride()
#1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(972): Illuminate\Container\Container->build()
#2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1078): Illuminate\Container\Container->resolve()
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(903): Illuminate\Foundation\Application->resolve()
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1058): Illuminate\Container\Container->make()
#5 /var/www/bookstack/public/index.php(21): Illuminate\Foundation\Application->make()
#6 {main}
  thrown i" while reading response header from upstream, client: ip, server: wiki.domain, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/www/bookstack/php/php8.3-fpm.sock:"
2025/11/10 20:54:21 [error] 2825452#2825452: *666808 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Illuminate\Container\array_last() in /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php:1323
Stack trace:
#0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(1154): Illuminate\Container\Container->getLastParameterOverride()
#1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(972): Illuminate\Container\Container->build()
#2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1078): Illuminate\Container\Container->resolve()
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(903): Illuminate\Foundation\Application->resolve()
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1058): Illuminate\Container\Container->make()
#5 /var/www/bookstack/public/index.php(21): Illuminate\Foundation\Application->make()
#6 {main}
  thrown i" while reading response header from upstream, client: ip, server: wiki.domain, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/www/bookstack/php/php8.3-fpm.sock:", host: "wiki.domain"
@doxliy89 commented on GitHub (Nov 10, 2025): Got same problem. mysql 8.0.43-0 ubuntu 24.04.2 nginx 1.26 php 8.3 installed a long time ago via script from manual Last nginx error log messages before rollback to snapshot ``` [error] 2825452#2825452: *666806 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function Illuminate\Container\array_last() in /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php:1323 Stack trace: #0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(1154): Illuminate\Container\Container->getLastParameterOverride() #1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(972): Illuminate\Container\Container->build() #2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1078): Illuminate\Container\Container->resolve() #3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(903): Illuminate\Foundation\Application->resolve() #4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1058): Illuminate\Container\Container->make() #5 /var/www/bookstack/public/index.php(21): Illuminate\Foundation\Application->make() #6 {main} thrown i" while reading response header from upstream, client: ip, server: wiki.domain, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/www/bookstack/php/php8.3-fpm.sock:" 2025/11/10 20:54:21 [error] 2825452#2825452: *666808 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function Illuminate\Container\array_last() in /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php:1323 Stack trace: #0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(1154): Illuminate\Container\Container->getLastParameterOverride() #1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(972): Illuminate\Container\Container->build() #2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1078): Illuminate\Container\Container->resolve() #3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Container/Container.php(903): Illuminate\Foundation\Application->resolve() #4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1058): Illuminate\Container\Container->make() #5 /var/www/bookstack/public/index.php(21): Illuminate\Foundation\Application->make() #6 {main} thrown i" while reading response header from upstream, client: ip, server: wiki.domain, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/www/bookstack/php/php8.3-fpm.sock:", host: "wiki.domain" ```
Author
Owner

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

Prepared changes in #5878, just needs to go through deeper testing.

@ssddanbrown commented on GitHub (Nov 10, 2025): Prepared changes in #5878, just needs to go through deeper testing.
Author
Owner

@Sinepel commented on GitHub (Nov 10, 2025):

Hi @ssddanbrown ,

I tested your commit on my end, and it is fully functional, if that helps with your testing!

@Sinepel commented on GitHub (Nov 10, 2025): Hi @ssddanbrown , I tested your commit on my end, and it is fully functional, if that helps with your testing!
Author
Owner

@ssddanbrown commented on GitHub (Nov 11, 2025):

Alright, this should now be fixed via the changes in #5878.
As part of these changes, I've added some helper test scripts which allow us to run the full test suite against a range of DB versions we support to help discover these kinds of issues before release.
I've opened #5882 with an aim to clean this up and better integrate it into my processes, for the next feature release. As part of that I think it'd also be time to bump up our supported DB versions since they're quite old and unsupported at this stage.
I've also updated our automated testing coverage to specifically look at some of the queries made to help prevent regression in this area.

v25.11.1 will be released very soon with the fixes within.
Thanks all for your information, and validation to help track this (and your testing of changes @Sinepel!)

Apologies that this issue made it through to release.

@ssddanbrown commented on GitHub (Nov 11, 2025): Alright, this should now be fixed via the changes in #5878. As part of these changes, I've added some helper test scripts which allow us to run the full test suite against a [range of DB versions we support](https://github.com/BookStackApp/BookStack/blob/8ab9252f9bd1626b87df044b14ce3469b1ca07bf/dev/docker/db-testing/run.sh#L14-L23) to help discover these kinds of issues before release. I've opened #5882 with an aim to clean this up and better integrate it into my processes, for the next feature release. As part of that I think it'd also be time to bump up our supported DB versions since they're quite old and unsupported at this stage. I've also updated our automated testing coverage to specifically look at some of the queries made to help prevent regression in this area. v25.11.1 will be released very soon with the fixes within. Thanks all for your information, and validation to help track this (and your testing of changes @Sinepel!) Apologies that this issue made it through to release.
Author
Owner

@ssddanbrown commented on GitHub (Nov 11, 2025):

v25.11.1 now released: https://github.com/BookStackApp/BookStack/releases/tag/v25.11.1
May take a little while for docker-based environments to catch-up.

I'd appreciate confirmation of things working (or still broken) post-upgrade for those who have experienced this issue just so I can be sure of things before publicizing the fix further.

@ssddanbrown commented on GitHub (Nov 11, 2025): v25.11.1 now released: https://github.com/BookStackApp/BookStack/releases/tag/v25.11.1 May take a little while for docker-based environments to catch-up. I'd appreciate confirmation of things working (or still broken) post-upgrade for those who have experienced this issue just so I can be sure of things before publicizing the fix further.
Author
Owner

@arnauos commented on GitHub (Nov 11, 2025):

Hi, updated to 25.11.1 (docker) and working great 👍

Now time to prioritize my mysql version upgrade as it's taking too long (5.7 support ended two years ago)

@arnauos commented on GitHub (Nov 11, 2025): Hi, updated to 25.11.1 (docker) and working great 👍 Now time to prioritize my mysql version upgrade as it's taking too long (5.7 support ended two years ago)
Author
Owner

@Sinepel commented on GitHub (Nov 11, 2025):

Hi!

My pleasure, thank you!
Everything is fine with me now! :)

@Sinepel commented on GitHub (Nov 11, 2025): Hi! My pleasure, thank you! Everything is fine with me now! :)
Author
Owner

@ssddanbrown commented on GitHub (Nov 11, 2025):

@Sinepel @arnauos thanks for confirming!

@ssddanbrown commented on GitHub (Nov 11, 2025): @Sinepel @arnauos thanks for confirming!
Author
Owner

@Janfy commented on GitHub (Nov 11, 2025):

Works fine for me. 👌
Many thanks for the quick fix 🎉

@Janfy commented on GitHub (Nov 11, 2025): Works fine for me. 👌 Many thanks for the quick fix 🎉
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#5488