Migration failed

Migration failed

Invoice Ninja - v4.5.35 (Docker) http://in.domain.tld
to
Invoice Ninja - v5.8.52 (Docker) https://inv.domain.tld

Error message received
Looks like something went wrong with the migration for the following company: ******
Undefined array key “ninja_tokens”
Undefined array key “ninja_tokens”

laravel.log shows the following

[2024-05-02 11:15:38] production.INFO: Importing account  
[2024-05-02 11:15:38] production.INFO: Importing company  
[2024-05-02 11:15:38] production.INFO: Importing users  
[2024-05-02 11:15:38] production.INFO: Importing payment_terms  
[2024-05-02 11:15:38] production.INFO: Importing tax_rates  
[2024-05-02 11:15:38] production.INFO: Importing clients  
[2024-05-02 11:15:39] production.INFO: Importing company_gateways  
[2024-05-02 11:15:39] production.INFO: Importing client_gateway_tokens  
[2024-05-02 11:15:39] production.INFO: Importing vendors  
[2024-05-02 11:15:39] production.INFO: Importing projects  
[2024-05-02 11:15:39] production.INFO: Importing products  
[2024-05-02 11:15:39] production.INFO: Importing credits  
[2024-05-02 11:15:39] production.INFO: Importing recurring_invoices  
[2024-05-02 11:15:39] production.INFO: Importing invoices  
[2024-05-02 11:15:40] production.INFO: Importing quotes  
[2024-05-02 11:15:40] production.INFO: Importing payments  
[2024-05-02 11:15:41] production.INFO: Importing expense_categories  
[2024-05-02 11:15:41] production.INFO: Importing task_statuses  
[2024-05-02 11:15:41] production.INFO: in task statuses  
[2024-05-02 11:15:41] production.INFO: finished task statuses  
[2024-05-02 11:15:41] production.INFO: Importing expenses  
[2024-05-02 11:15:41] production.INFO: Resource recurring_expenses is not available for migration.  
[2024-05-02 11:15:41] production.INFO: Importing tasks  
[2024-05-02 11:15:41] production.INFO: Importing documents  
[2024-05-02 11:15:41] production.INFO: Resource activities is not available for migration.  
[2024-05-02 11:15:49] production.INFO: Serialization of 'Closure' is not allowed  
[2024-05-02 11:15:50] production.ERROR: Serialization of 'Closure' is not allowed {"userId":1,"exception":"[object] (Exception(code: 0): Serialization of 'Closure' is not allowed at /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Queue.php:160)
[stacktrace]
#0 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Queue.php(160): serialize(Object(Illuminate\\Events\\CallQueuedListener))
#1 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Queue.php(129): Illuminate\\Queue\\Queue->createObjectPayload(Object(Illuminate\\Events\\CallQueuedListener), 'default')
#2 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Queue.php(107): Illuminate\\Queue\\Queue->createPayloadArray(Object(Illuminate\\Events\\CallQueuedListener), 'default', '')
#3 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php(92): Illuminate\\Queue\\Queue->createPayload(Object(Illuminate\\Events\\CallQueuedListener), 'default', '')
#4 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Queue.php(59): Illuminate\\Queue\\DatabaseQueue->push(Object(Illuminate\\Events\\CallQueuedListener), '', NULL)
#5 /var/www/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(633): Illuminate\\Queue\\Queue->pushOn(NULL, Object(Illuminate\\Events\\CallQueuedListener))
#6 /var/www/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(552): Illuminate\\Events\\Dispatcher->queueHandler('App\\\\Listeners\\\\M...', 'handle', Array)
#7 /var/www/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(478): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}(Object(Illuminate\\Mail\\Events\\MessageSent))
#8 /var/www/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(286): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}('Illuminate\\\\Mail...', Array)
#9 /var/www/app/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(266): Illuminate\\Events\\Dispatcher->invokeListeners('Illuminate\\\\Mail...', Array, false)
#10 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(607): Illuminate\\Events\\Dispatcher->dispatch('Illuminate\\\\Mail...')
#11 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(340): Illuminate\\Mail\\Mailer->dispatchSentEvent(Object(Illuminate\\Mail\\SentMessage), Array)
#12 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php(205): Illuminate\\Mail\\Mailer->send('email.migration...', Array, Object(Closure))
#13 /var/www/app/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php(19): Illuminate\\Mail\\Mailable->Illuminate\\Mail\\{closure}()
#14 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php(198): Illuminate\\Mail\\Mailable->withLocale(NULL, Object(Closure))
#15 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(357): Illuminate\\Mail\\Mailable->send(Object(Illuminate\\Mail\\Mailer))
#16 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(301): Illuminate\\Mail\\Mailer->sendMailable(Object(App\\Mail\\MigrationFailed))
#17 /var/www/app/vendor/laravel/framework/src/Illuminate/Mail/PendingMail.php(124): Illuminate\\Mail\\Mailer->send(Object(App\\Mail\\MigrationFailed))
#18 /var/www/app/app/Jobs/Util/StartMigration.php(148): Illuminate\\Mail\\PendingMail->send(Object(App\\Mail\\MigrationFailed))
#19 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Jobs\\Util\\StartMigration->handle()
#20 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#21 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#22 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#23 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#24 /var/www/app/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\\Container\\Container->call(Array)
#25 /var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}(Object(App\\Jobs\\Util\\StartMigration))
#26 /var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(App\\Jobs\\Util\\StartMigration))
#27 /var/www/app/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#28 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\\Bus\\Dispatcher->dispatchNow(Object(App\\Jobs\\Util\\StartMigration), false)
#29 /var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Queue\\CallQueuedHandler->Illuminate\\Queue\\{closure}(Object(App\\Jobs\\Util\\StartMigration))
#30 /var/www/app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(App\\Jobs\\Util\\StartMigration))
#31 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#32 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\\Queue\\CallQueuedHandler->dispatchThroughMiddleware(Object(Illuminate\\Queue\\Jobs\\DatabaseJob), Object(App\\Jobs\\Util\\StartMigration))
#33 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\\Queue\\CallQueuedHandler->call(Object(Illuminate\\Queue\\Jobs\\DatabaseJob), Array)
#34 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\\Queue\\Jobs\\Job->fire()
#35 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\\Queue\\Worker->process('database', Object(Illuminate\\Queue\\Jobs\\DatabaseJob), Object(Illuminate\\Queue\\WorkerOptions))
#36 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\\Queue\\Worker->runJob(Object(Illuminate\\Queue\\Jobs\\DatabaseJob), 'database', Object(Illuminate\\Queue\\WorkerOptions))
#37 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\\Queue\\Worker->daemon('database', 'default', Object(Illuminate\\Queue\\WorkerOptions))
#38 /var/www/app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\\Queue\\Console\\WorkCommand->runWorker('database', 'default')
#39 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Queue\\Console\\WorkCommand->handle()
#40 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#41 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#42 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#43 /var/www/app/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#44 /var/www/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call(Array)
#45 /var/www/app/vendor/symfony/console/Command/Command.php(326): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#46 /var/www/app/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#47 /var/www/app/vendor/symfony/console/Application.php(1096): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#48 /var/www/app/vendor/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Queue\\Console\\WorkCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#49 /var/www/app/vendor/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#50 /var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#51 /var/www/app/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#52 {main}
"} 

Hi,

Upgrading to the latest version of v4 may help.

Thanks for your response.
Unfortunately the “latest” version (v4.5.51 and v4.5.50) of the v4 docker images are broken. showing the error Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33.
I had been using the docker image: invoiceninja/invoiceninja:alpine-4
eventually found that the Migration ran successfully on invoiceninja/invoiceninja:4.5.40