This is an issue with doctrine, however they do not want to fix this, even that I did made a PR for it, cause timestamp is a MySQL-specific database column type. However Laravel also refuses to fix this as well.
So I had no other options to create a Laravel package that would fix this issue for users of MySQL.
Unknown column type "timestamp" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this error occurs during database introspection then you might have forgot to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctrineTypeMapping() or have your custom types implement Type#getMappedDatabaseTypes(). If the type name is empty you might have a problem with the cache or forgot some mapping information.
in /Users/mark/Sites/voyager/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php line 240
at DBALException::unknownColumnType('timestamp') in Type.php line 172
at Type::getType('timestamp') in Grammar.php line 411
at Grammar->getDoctrineColumnType('timestamp') in Grammar.php line 376
at Grammar->getDoctrineColumnChangeOptions(object(Fluent)) in Grammar.php line 364
at Grammar->getDoctrineColumnForChange(object(Table), object(Fluent)) in Grammar.php line 337
at Grammar->getTableWithColumnChanges(object(Blueprint), object(Table)) in Grammar.php line 322
at Grammar->getChangedDiff(object(Blueprint), object(MySqlSchemaManager)) in Grammar.php line 302
at Grammar->compileChange(object(Blueprint), object(Fluent), object(MySqlConnection)) in Blueprint.php line 107
at Blueprint->toSql(object(MySqlConnection), object(MySqlGrammar)) in Blueprint.php line 82
at Blueprint->build(object(MySqlConnection), object(MySqlGrammar)) in Builder.php line 229
at Builder->build(object(Blueprint)) in Builder.php line 130
at Builder->table('categories', object(Closure)) in Facade.php line 237
at Facade::__callStatic('table', array('categories', object(Closure))) in VoyagerDatabaseController.php line 124
at VoyagerDatabaseController->update(object(Request), 'categories')
at call_user_func_array(array(object(VoyagerDatabaseController), 'update'), array(object(Request), 'table' => 'categories')) in Controller.php line 55
at Controller->callAction('update', array(object(Request), 'table' => 'categories')) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(VoyagerDatabaseController), 'update') in Route.php line 189
at Route->runController() in Route.php line 144
at Route->run(object(Request)) in Router.php line 642
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VoyagerAdminMiddleware.php line 24
at VoyagerAdminMiddleware->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Router.php line 644
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 618
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 268
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Debugbar.php line 51
at Debugbar->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 150
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
at Kernel->handle(object(Request)) in index.php line 53
at require('/Users/mark/Sites/voyager/public/index.php') in server.php line 106
Keeping this open so people can find the Laravel package that fixes this issue.
Will later add this to the documentation and close this.
With my latest merge #228, this should be fixed. The issue is that you can't update certain column types unless you do a really custom SQL query. Look at the documentation for Modifying Columns. The system was just attempting to update the timestamp column even though it shouldn't.
I have also put a blacklist in place to ensure this doesn't happen and can be seen here: DatabaseQueryBuilder.php#L17
Wonderful work @brandonferens.
Thanks @marktopper.
This issue has been automatically locked since there has not been any recent activity after it was closed. If you have further questions please ask in our Slack group.
Most helpful comment
With my latest merge #228, this should be fixed. The issue is that you can't update certain column types unless you do a really custom SQL query. Look at the documentation for Modifying Columns. The system was just attempting to update the timestamp column even though it shouldn't.
I have also put a blacklist in place to ensure this doesn't happen and can be seen here: DatabaseQueryBuilder.php#L17