BookStackApp / BookStack

A platform to create documentation/wiki content built with PHP & Laravel
https://www.bookstackapp.com/
MIT License
14.95k stars 1.87k forks source link

Error saving / updating pages #421

Closed the4ndy closed 7 years ago

the4ndy commented 7 years ago

For Bug Reports

I had setup Bookstack and have been using it since prior to the update that had user management. I then updated to the latest version (this was a week or so ago). Since then, I have not been able to save pages. I get an error when saving that says:

PDOException in Connection.php line 470: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision_count' in 'field list'
 in Connection.php line 470
at PDO->prepare('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?') in Connection.php line 470
at Connection->Illuminate\Database\{closure}('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('
QueryException in Connection.php line 647: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision_count' in 'field list' (SQL: update `pages` set `html` = 

There is obviously more to the errors but I cannot paste it all here as it has sensitive information in it. I am going to replicate the error on a page without sensitive information in case more information is needed.

Troubleshooting done

I took my best educated guess and noticed that the column revision_count was not in the pages table, so i added it, this moved us on to a similar error about a column missing from the page_revisions table, added that. Finally i was greeted with an even worse error that i could not deduce and so I started over. Earlier today I went ahead and spun up a new Ubuntu 16.04 VM. I went ahead and ran the installation script. Everything is working. Copy over my backup. Copy the .env file in place (but move the DB password from the fresh install into the restored .env file). copied the public and storage folders back. ran the command to restore the SQL database. From there it was all great. I was able to log in and see the data and access all my pages. However the saving pages bug is still present. Same errors as above.

What should I do? Any help is greatly appreciated. Thanks.

the4ndy commented 7 years ago

Here is some more log information i was able to pull from the fancy little PHP debug thing in the footer of the error page:

[14:38:35] LOG.error: PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision_count' in 'field list' in /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:470
Stack trace:
#0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(470): PDO->prepare('update `pages` ...')
#1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(640): Illuminate\Database\Connection->Illuminate\Database\{closure}('update `pages` ...', Array)
#2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('update `pages` ...', Array, Object(Closure))
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(477): Illuminate\Database\Connection->run('update `pages` ...', Array, Object(Closure))
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\Database\Connection->affectingStatement('update `pages` ...', Array)
#5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2210): Illuminate\Database\Connection->update('update `pages` ...', Array)
#6 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(855): Illuminate\Database\Query\Builder->update(Array)
#7 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(581): Illuminate\Database\Eloquent\Builder->update(Array)
#8 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(501): Illuminate\Database\Eloquent\Model->performUpdate(Object(Illuminate\Database\Eloquent\Builder))
#9 /var/www/bookstack/app/Repos/EntityRepo.php(823): Illuminate\Database\Eloquent\Model->save()
#10 /var/www/bookstack/app/Http/Controllers/PageController.php(238): BookStack\Repos\EntityRepo->updatePage(Object(BookStack\Page), 3, Array)
#11 [internal function]: BookStack\Http\Controllers\PageController->update(Object(Illuminate\Http\Request), 'general-knowled...', 'self-help-websi...')
#12 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)
#13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction('update', Array)
#14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(BookStack\Http\Controllers\PageController), 'update')
#15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(160): Illuminate\Routing\Route->runController()
#16 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(559): Illuminate\Routing\Route->run()
#17 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#18 /var/www/bookstack/app/Http/Controllers/Controller.php(44): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#19 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(131): BookStack\Http\Controllers\Controller->BookStack\Http\Controllers\{closure}(Object(Illuminate\Http\Request), Object(Closure))
#20 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#21 /var/www/bookstack/app/Http/Middleware/Authenticate.php(45): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#22 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): BookStack\Http\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#24 /var/www/bookstack/app/Http/Middleware/Localization.php(31): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#25 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): BookStack\Http\Middleware\Localization->handle(Object(Illuminate\Http\Request), Object(Closure))
#26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(65): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#36 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(561): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(520): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(498): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(174): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#45 /var/www/bookstack/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#58 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#59 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#60 /var/www/bookstack/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#61 {main}

Next Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision_count' in 'field list' (SQL: update `pages` set `html` = <h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3>
<p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p>
<p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p>
<h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3>
<p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p>
<p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p>
<h3 id="bkmrk-central-ops">Central Ops</h3>

<p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p>
<p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>, `text` = Lets Secure Me
Nginx / Lets Encrypt Setup / Hardening
https://letsecure.me
Modemly
Router/Modem based instructions for basic home network security
http://modemly.com/
Central Ops
Whois and more information lookup
https://centralops.net, `updated_at` = 2017-06-27 14:38:35, `revision_count` = 1 where `id` = 73) in /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647
Stack trace:
#0 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('update `pages` ...', Array, Object(Closure))
#1 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(477): Illuminate\Database\Connection->run('update `pages` ...', Array, Object(Closure))
#2 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\Database\Connection->affectingStatement('update `pages` ...', Array)
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2210): Illuminate\Database\Connection->update('update `pages` ...', Array)
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(855): Illuminate\Database\Query\Builder->update(Array)
#5 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(581): Illuminate\Database\Eloquent\Builder->update(Array)
#6 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(501): Illuminate\Database\Eloquent\Model->performUpdate(Object(Illuminate\Database\Eloquent\Builder))
#7 /var/www/bookstack/app/Repos/EntityRepo.php(823): Illuminate\Database\Eloquent\Model->save()
#8 /var/www/bookstack/app/Http/Controllers/PageController.php(238): BookStack\Repos\EntityRepo->updatePage(Object(BookStack\Page), 3, Array)
#9 [internal function]: BookStack\Http\Controllers\PageController->update(Object(Illuminate\Http\Request), 'general-knowled...', 'self-help-websi...')
#10 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)
#11 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction('update', Array)
#12 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(BookStack\Http\Controllers\PageController), 'update')
#13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(160): Illuminate\Routing\Route->runController()
#14 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(559): Illuminate\Routing\Route->run()
#15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#16 /var/www/bookstack/app/Http/Controllers/Controller.php(44): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#17 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(131): BookStack\Http\Controllers\Controller->BookStack\Http\Controllers\{closure}(Object(Illuminate\Http\Request), Object(Closure))
#18 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#19 /var/www/bookstack/app/Http/Middleware/Authenticate.php(45): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#20 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): BookStack\Http\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#21 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#22 /var/www/bookstack/app/Http/Middleware/Localization.php(31): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#23 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): BookStack\Http\Middleware\Localization->handle(Object(Illuminate\Http\Request), Object(Closure))
#24 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#25 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(65): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#35 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#38 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(561): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(520): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(498): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(174): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#43 /var/www/bookstack/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#47 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#48 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#50 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#57 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#58 /var/www/bookstack/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#59 {main}
the4ndy commented 7 years ago

Also here is a full copy of the error (With content that is not sensitive)


Whoops, looks like something went wrong.
2/2 QueryException in Connection.php line 647: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision_count' in 'field list' (SQL: update `pages` set `html` = <h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3>
<p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p>
<p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p>
<h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3>
<p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p>
<p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p>
<h3 id="bkmrk-central-ops">Central Ops</h3>
<p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p>
<p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>, `text` = Lets Secure Me
Nginx / Lets Encrypt Setup / Hardening
https://letsecure.me
Modemly
Router/Modem based instructions for basic home network security
http://modemly.com/
Central Ops
Whois and more information lookup
https://centralops.net, `updated_at` = 2017-06-27 14:38:35, `revision_count` = 1 where `id` = 73)

    in Connection.php line 647
    at Connection->runQueryCallback('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73), object(Closure)) in Connection.php line 607
    at Connection->run('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73), object(Closure)) in Connection.php line 477
    at Connection->affectingStatement('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73)) in Connection.php line 416
    at Connection->update('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73)) in Builder.php line 2210
    at Builder->update(array('html' => '<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'text' => 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', 'updated_at' => '2017-06-27 14:38:35', 'revision_count' => 1)) in Builder.php line 855
    at Builder->update(array('html' => '<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'text' => 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', 'updated_at' => '2017-06-27 14:38:35', 'revision_count' => 1)) in Model.php line 581
    at Model->performUpdate(object(Builder)) in Model.php line 501
    at Model->save() in EntityRepo.php line 823
    at EntityRepo->updatePage(object(Page), 3, array('_method' => 'PUT', '_token' => 'nsRI5zaTYvh9LEOz6yFw8XhoVpvwe3DSQkefxAAY', 'summary' => '', 'name' => 'Self-Help Websites / Services', 'html' => '<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3>Central Ops</h3> <p>Whois and more information lookup</p> <p>https://centralops.net</p>', 'tags' => array(array('name' => '', 'value' => '')))) in PageController.php line 238
    at PageController->update(object(Request), 'general-knowledge', 'self-help-websites--services')
    at call_user_func_array(array(object(PageController), 'update'), array(object(Request), 'general-knowledge', 'self-help-websites--services')) in Controller.php line 55
    at Controller->callAction('update', array(object(Request), 'general-knowledge', 'self-help-websites--services')) in ControllerDispatcher.php line 44
    at ControllerDispatcher->dispatch(object(Route), object(PageController), 'update') in Route.php line 203
    at Route->runController() in Route.php line 160
    at Route->run() in Router.php line 559
    at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Controller.php line 44
    at Controller->BookStack\Http\Controllers\{closure}(object(Request), object(Closure)) in Pipeline.php line 131
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Authenticate.php line 45
    at Authenticate->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Localization.php line 31
    at Localization->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
    at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
    at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
    at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
    at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
    at Pipeline->then(object(Closure)) in Router.php line 561
    at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
    at Router->dispatchToRoute(object(Request)) in Router.php line 498
    at Router->dispatch(object(Request)) in Kernel.php line 174
    at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Debugbar.php line 51
    at Debugbar->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
    at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
    at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
    at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
    at Pipeline->then(object(Closure)) in Kernel.php line 149
    at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
    at Kernel->handle(object(Request)) in index.php line 53

1/2 PDOException in Connection.php line 470: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'revision_count' in 'field list'

    in Connection.php line 470
    at PDO->prepare('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?') in Connection.php line 470
    at Connection->Illuminate\Database\{closure}('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73)) in Connection.php line 640
    at Connection->runQueryCallback('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73), object(Closure)) in Connection.php line 607
    at Connection->run('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73), object(Closure)) in Connection.php line 477
    at Connection->affectingStatement('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73)) in Connection.php line 416
    at Connection->update('update `pages` set `html` = ?, `text` = ?, `updated_at` = ?, `revision_count` = ? where `id` = ?', array('<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', '2017-06-27 14:38:35', 1, 73)) in Builder.php line 2210
    at Builder->update(array('html' => '<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'text' => 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', 'updated_at' => '2017-06-27 14:38:35', 'revision_count' => 1)) in Builder.php line 855
    at Builder->update(array('html' => '<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3 id="bkmrk-central-ops">Central Ops</h3> <p id="bkmrk-whois-and-more-infor">Whois and more information lookup</p> <p id="bkmrk-https%3A%2F%2Fcentralops.n">https://centralops.net</p>', 'text' => 'Lets Secure Me Nginx / Lets Encrypt Setup / Hardening https://letsecure.me Modemly Router/Modem based instructions for basic home network security http://modemly.com/ Central Ops Whois and more information lookup https://centralops.net', 'updated_at' => '2017-06-27 14:38:35', 'revision_count' => 1)) in Model.php line 581
    at Model->performUpdate(object(Builder)) in Model.php line 501
    at Model->save() in EntityRepo.php line 823
    at EntityRepo->updatePage(object(Page), 3, array('_method' => 'PUT', '_token' => 'nsRI5zaTYvh9LEOz6yFw8XhoVpvwe3DSQkefxAAY', 'summary' => '', 'name' => 'Self-Help Websites / Services', 'html' => '<h3 id="bkmrk-%23%23-lets-secure-me---">Lets Secure Me</h3> <p id="bkmrk-nginx-%2F-lets-encrypt">Nginx / Lets Encrypt Setup / Hardening</p> <p id="bkmrk-https%3A%2F%2Fletsecure.me">https://letsecure.me</p> <h3 id="bkmrk-%23%23-modemly---router%2F">Modemly</h3> <p id="bkmrk-router%2Fmodem-based-i">Router/Modem based instructions for basic home network security</p> <p id="bkmrk-http%3A%2F%2Fmodemly.com%2F">http://modemly.com/</p> <h3>Central Ops</h3> <p>Whois and more information lookup</p> <p>https://centralops.net</p>', 'tags' => array(array('name' => '', 'value' => '')))) in PageController.php line 238
    at PageController->update(object(Request), 'general-knowledge', 'self-help-websites--services')
    at call_user_func_array(array(object(PageController), 'update'), array(object(Request), 'general-knowledge', 'self-help-websites--services')) in Controller.php line 55
    at Controller->callAction('update', array(object(Request), 'general-knowledge', 'self-help-websites--services')) in ControllerDispatcher.php line 44
    at ControllerDispatcher->dispatch(object(Route), object(PageController), 'update') in Route.php line 203
    at Route->runController() in Route.php line 160
    at Route->run() in Router.php line 559
    at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Controller.php line 44
    at Controller->BookStack\Http\Controllers\{closure}(object(Request), object(Closure)) in Pipeline.php line 131
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Authenticate.php line 45
    at Authenticate->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Localization.php line 31
    at Localization->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
    at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
    at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
    at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
    at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
    at Pipeline->then(object(Closure)) in Router.php line 561
    at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
    at Router->dispatchToRoute(object(Request)) in Router.php line 498
    at Router->dispatch(object(Request)) in Kernel.php line 174
    at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Debugbar.php line 51
    at Debugbar->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
    at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
    at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
    at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
    at Pipeline->then(object(Closure)) in Kernel.php line 149
    at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
    at Kernel->handle(object(Request)) in index.php line 53
ssddanbrown commented 7 years ago

Hi @the4ndy, Are you running migrations (php artisan migrate) after updating or restoring past data? From your errors above it just seems the latest migration have not run at all. This can be verified by checking the migrations table and comparing it to the filenames in the database/migrations/ folder.

the4ndy commented 7 years ago

I do run the php artisan migrate command after the update, however I am not sure that it has ever run successfully. In the past when it runs, I will get big red blocks of errors. I could have sworn I read somewhere that these are ok to ignore and up until recently i have not had any issues at all. I just jumped on to the box again and ran the update. there were some changes that downloaded via the git pull. I noticed that Composer is NOT installed via the Ubuntu 16.04 install script (and when i install Composer manually the command is php composer.phar install as I cannot run composer install as by default, composer does not get added to /usr/bin/ or somewhere in the unix PATH.

Here is the error I get when running php artisan migrate first as my local user and then again as sudo.

thesheriff@kb02:/var/www/bookstack$ php artisan migrate
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

PHP Fatal error:  Uncaught UnexpectedValueException: The stream or file "/var/www/bookstack/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
Stack trace:
#0 /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
#1 /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Logger.php(337): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#2 /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Logger.php(616): Monolog\Logger->addRecord(400, Object(UnexpectedValueException), Array)
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Log/Writer.php(203): Monolog\Logger->error(Object(UnexpectedValueException), Array)
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Log/Writer.php(114): Illuminate\Log\Writer->writeLog('error', Object(UnexpectedValueException), Array)
#5 /var/www/bookstack/vendor/l in /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 107
PHP Fatal error:  Uncaught UnexpectedValueException: The stream or file "/var/www/bookstack/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
Stack trace:
#0 /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)
#1 /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Logger.php(337): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#2 /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Logger.php(616): Monolog\Logger->addRecord(400, Object(Symfony\Component\Debug\Exception\FatalErrorException), Array)
#3 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Log/Writer.php(203): Monolog\Logger->error(Object(Symfony\Component\Debug\Exception\FatalErrorException), Array)
#4 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Log/Writer.php(114): Illuminate\Log\Writer->writeLog('error', Object(Symfon in /var/www/bookstack/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 107
thesheriff@kb02:/var/www/bookstack$ sudo !!
sudo php artisan migrate
[sudo] password for thesheriff:
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

  [Illuminate\Database\QueryException]
  SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'attachments' already exists (SQL: cr
  eate table `attachments` (`id` int unsigned not null auto_increment primary key, `name` varchar(191)
   not null, `path` varchar(191) not null, `extension` varchar(20) not null, `uploaded_to` int not nul
  l, `external` tinyint(1) not null, `order` int not null, `created_by` int not null, `updated_by` int
   not null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 c
  ollate utf8mb4_unicode_ci)

  [PDOException]
  SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'attachments' already exists
ssddanbrown commented 7 years ago

Sorry for my late reply. Composer should be installed with the ubuntu install script starting the following point: https://github.com/BookStackApp/devops/blob/master/scripts/installation-ubuntu-16.04.sh#L28

Big red blocks of errors are not usually okay to ignore in regards to BookStack.

The logs above are showing two errors. The first is that php (running as the user executing the command) does not have permission to write to the logs files in storage. The second is that some tables already exist before the migrations run for those tables. This could happen if tables have manually been changed or the migrations table is out of sync with the rest of the DB.

If you have an original backup from a working instance I'd advise the following steps:

  1. Drop all existing tables in the BookStack DB.
  2. Restore your original backup.
  3. Run the migrations. You should see maybe one or two of the more recent migrations output to the command line.
domainzero commented 7 years ago

@ssddanbrown Probably good to close this out. It's been 31 days since last reply.

ssddanbrown commented 7 years ago

@domainzero Yeah, Thanks for letting me know.

@the4ndy If you're still having issues feel free to continue to comment and it can always be re-opened.

the4ndy commented 7 years ago

Hey sorry I couldn't respond to this earlier, I got distracted with other work.

At this point, i revisited the issue I was having with the following steps and sadly am still having issues.

Let me know if there is anything i can do to revive this, i really dont want to have to copy and paste the data from all my pages / books and manually recreate them in a new instance of the app (that would be painstakingly tedious).