V5 Migration for shared hosted

Hi there, I attempted to migrate my v4.5.34 to v5. I never got a completion email on all attempts. I compared them to the steps on this page
https://invoiceninja.github.io/docs/migration/

It sometimes stops at quotes, but most attempts seem to stop at the documents import. But all fall short of the completion line.

I noticed from other github issue posts that I could select company name at the top left. Upon checking some of the entries, I found several duplicates of the same quote and invoice number, probably due to my multiple attempts to do it. Is there a way to delete the company on v5 and start a fresh migration? PS: I did check the “force migration” box on the subsequent migration attempts from v4.

Is there any way to check if it’s been fully migrated without the notification email going through or the log with the completion line?

This is my laravel log from the v5:

[2021-04-08 08:39:53] production.INFO: Illuminate\Support\MessageBag Object
(
    [messages:protected] => Array
        (
            [email] => Array
                (
                    [0] => The email field is required.
                )

            [password] => Array
                (
                    [0] => The password field is required.
                )

        )

    [format:protected] => :message
)
  
[2021-04-08 08:41:06] production.ERROR: Trying to get property 'id' of non-object {"userId":1,"exception":"[object] (ErrorException(code: 0): Trying to get property 'id' of non-object at /home3/username/public_html/accounts/app/Models/User.php:161)
[stacktrace]
#0 /home3/username/public_html/accounts/app/Models/User.php(161): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'Trying to get p...', '/home3/username...', 161, Array)
#1 /home3/username/public_html/accounts/app/Http/Controllers/Auth/LoginController.php(168): App\\Models\\User->setCompany(NULL)
#2 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\Auth\\LoginController->apiLogin(Object(Illuminate\\Http\\Request))
#3 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('apiLogin', Array)
#4 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Route.php(254): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\Auth\\LoginController), 'apiLogin')
#5 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Route.php(197): Illuminate\\Routing\\Route->runController()
#6 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Router.php(693): Illuminate\\Routing\\Route->run()
#7 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#8 /home3/username/public_html/accounts/app/Http/Middleware/SetEmailDb.php(47): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\SetEmailDb->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#10 /home3/username/public_html/accounts/app/Http/Middleware/ApiSecretCheck.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\ApiSecretCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#12 /home3/username/public_html/accounts/app/Http/Middleware/Cors.php(34): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\Cors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#14 /home3/username/public_html/accounts/app/Http/Middleware/QueryLogging.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\QueryLogging->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(63): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#20 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), '300', '1')
#21 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Router.php(695): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#23 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Router.php(670): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#24 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#25 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#26 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#27 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#28 /home3/username/public_html/accounts/app/Http/Middleware/Cors.php(34): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\Cors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /home3/username/public_html/accounts/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /home3/username/public_html/accounts/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Tracing/Middleware.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Sentry\\Laravel\\Tracing\\Middleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#44 /home3/username/public_html/accounts/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#45 /home3/username/public_html/accounts/public/index.php(57): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#46 {main}
"} 
[2021-04-09 04:57:23] production.INFO: Importing account  
[2021-04-09 04:57:23] production.INFO: Importing company  
[2021-04-09 04:57:24] production.INFO: the path pathtologo/--.png  
[2021-04-09 04:57:24] production.INFO: Importing users  
[2021-04-09 04:57:24] production.INFO: Importing payment_terms  
[2021-04-09 04:57:24] production.INFO: Importing tax_rates  
[2021-04-09 04:57:24] production.INFO: Importing clients  
[2021-04-09 04:57:36] production.INFO: Importing company_gateways  
[2021-04-09 04:57:36] production.INFO: Importing client_gateway_tokens  
[2021-04-09 04:57:36] production.INFO: Importing vendors  
[2021-04-09 04:57:42] production.INFO: Importing projects  
[2021-04-09 04:57:42] production.INFO: Importing products  
[2021-04-09 04:57:44] production.INFO: Importing credits  
[2021-04-09 04:57:44] production.INFO: Importing invoices  
[2021-04-12 04:52:56] production.INFO: Importing account  
[2021-04-12 04:52:56] production.INFO: Importing company  
[2021-04-12 04:52:56] production.INFO: the path pathtologo/--.png  
[2021-04-12 04:52:56] production.INFO: Importing users  
[2021-04-12 04:52:56] production.INFO: Importing payment_terms  
[2021-04-12 04:52:56] production.INFO: Importing tax_rates  
[2021-04-12 04:52:56] production.INFO: Importing clients  
[2021-04-12 04:53:09] production.INFO: Importing company_gateways  
[2021-04-12 04:53:09] production.INFO: Importing client_gateway_tokens  
[2021-04-12 04:53:09] production.INFO: Importing vendors  
[2021-04-12 04:53:15] production.INFO: Importing projects  
[2021-04-12 04:53:15] production.INFO: Importing products  
[2021-04-12 04:53:16] production.INFO: Importing credits  
[2021-04-12 04:53:16] production.INFO: Importing invoices  
[2021-04-12 04:53:51] production.INFO: Importing recurring_invoices  
[2021-04-12 04:53:51] production.INFO: Importing quotes  
[2021-04-15 06:27:23] production.INFO: Importing account  
[2021-04-15 06:27:23] production.INFO: Importing company  
[2021-04-15 06:27:23] production.INFO: the path pathtologo/--.png  
[2021-04-15 06:27:23] production.INFO: Importing users  
[2021-04-15 06:27:23] production.INFO: Importing payment_terms  
[2021-04-15 06:27:23] production.INFO: Importing tax_rates  
[2021-04-15 06:27:23] production.INFO: Importing clients  
[2021-04-15 06:27:36] production.INFO: Importing company_gateways  
[2021-04-15 06:27:37] production.INFO: Importing client_gateway_tokens  
[2021-04-15 06:27:37] production.INFO: Importing vendors  
[2021-04-15 06:27:42] production.INFO: Importing projects  
[2021-04-15 06:27:42] production.INFO: Importing products  
[2021-04-15 06:27:44] production.INFO: Importing credits  
[2021-04-15 06:27:44] production.INFO: Importing invoices  
[2021-04-16 02:19:36] production.INFO: Importing account  
[2021-04-16 02:19:36] production.INFO: Importing company  
[2021-04-16 02:19:37] production.INFO: the path pathtologo/--.png  
[2021-04-16 02:19:37] production.INFO: Importing users  
[2021-04-16 02:19:37] production.INFO: Importing payment_terms  
[2021-04-16 02:19:37] production.INFO: Importing tax_rates  
[2021-04-16 02:19:37] production.INFO: Importing clients  
[2021-04-16 02:19:50] production.INFO: Importing company_gateways  
[2021-04-16 02:19:50] production.INFO: Importing client_gateway_tokens  
[2021-04-16 02:19:50] production.INFO: Importing vendors  
[2021-04-16 02:19:56] production.INFO: Importing projects  
[2021-04-16 02:19:56] production.INFO: Importing products  
[2021-04-16 02:19:57] production.INFO: Importing credits  
[2021-04-16 02:19:57] production.INFO: Importing invoices  
[2021-04-16 02:20:36] production.INFO: Importing recurring_invoices  
[2021-04-16 02:20:36] production.INFO: Importing quotes  
[2021-04-16 02:20:52] production.INFO: Importing payments  
[2021-04-16 02:21:06] production.INFO: Importing expense_categories  
[2021-04-16 02:21:06] production.INFO: Importing task_statuses  
[2021-04-16 02:21:06] production.INFO: in task statuses  
[2021-04-16 02:21:07] production.INFO: finished task statuses  
[2021-04-16 02:21:07] production.INFO: Importing expenses  
[2021-04-16 02:21:08] production.INFO: Importing tasks  
[2021-04-16 02:21:08] production.INFO: Importing documents  
[2021-04-17 19:05:45] production.INFO: Importing account  
[2021-04-17 19:05:45] production.INFO: Importing company  
[2021-04-17 19:05:46] production.INFO: the path pathtologo/--.png  
[2021-04-17 19:05:46] production.INFO: Importing users  
[2021-04-17 19:05:46] production.INFO: Importing payment_terms  
[2021-04-17 19:05:46] production.INFO: Importing tax_rates  
[2021-04-17 19:05:46] production.INFO: Importing clients  
[2021-04-17 19:05:59] production.INFO: Importing company_gateways  
[2021-04-17 19:06:00] production.INFO: Importing client_gateway_tokens  
[2021-04-17 19:06:00] production.INFO: Importing vendors  
[2021-04-17 19:06:06] production.INFO: Importing projects  
[2021-04-17 19:06:06] production.INFO: Importing products  
[2021-04-17 19:06:10] production.INFO: Importing credits  
[2021-04-17 19:06:10] production.INFO: Importing invoices  
[2021-04-17 19:06:50] production.INFO: Importing recurring_invoices  
[2021-04-17 19:06:50] production.INFO: Importing quotes  
[2021-04-17 19:07:06] production.INFO: Importing payments  
[2021-04-17 19:07:20] production.INFO: Importing expense_categories  
[2021-04-17 19:07:20] production.INFO: Importing task_statuses  
[2021-04-17 19:07:20] production.INFO: in task statuses  
[2021-04-17 19:07:21] production.INFO: finished task statuses  
[2021-04-17 19:07:21] production.INFO: Importing expenses  
[2021-04-17 19:07:22] production.INFO: Importing tasks  
[2021-04-17 19:07:22] production.INFO: Importing documents  
[2021-04-24 08:32:58] production.INFO: Importing account  
[2021-04-24 08:32:58] production.INFO: Importing company  
[2021-04-24 08:32:58] production.INFO: the path pathtologo/--.png  
[2021-04-24 08:32:58] production.INFO: Importing users  
[2021-04-24 08:32:58] production.INFO: Importing payment_terms  
[2021-04-24 08:32:58] production.INFO: Importing tax_rates  
[2021-04-24 08:32:58] production.INFO: Importing clients  
[2021-04-24 08:33:11] production.INFO: Importing company_gateways  
[2021-04-24 08:33:11] production.INFO: Importing client_gateway_tokens  
[2021-04-24 08:33:11] production.INFO: Importing vendors  
[2021-04-24 08:33:16] production.INFO: Importing projects  
[2021-04-24 08:33:16] production.INFO: Importing products  
[2021-04-24 08:33:17] production.INFO: Importing credits  
[2021-04-24 08:33:17] production.INFO: Importing invoices  
[2021-04-24 08:33:54] production.INFO: Importing recurring_invoices  
[2021-04-24 08:33:54] production.INFO: Importing quotes  
[2021-04-26 09:00:13] production.INFO: Importing account  
[2021-04-26 09:00:13] production.INFO: Importing company  
[2021-04-26 09:00:13] production.INFO: the path pathtologo/--.png  
[2021-04-26 09:00:13] production.INFO: Importing users  
[2021-04-26 09:00:13] production.INFO: Importing payment_terms  
[2021-04-26 09:00:13] production.INFO: Importing tax_rates  
[2021-04-26 09:00:13] production.INFO: Importing clients  
[2021-04-26 09:00:26] production.INFO: Importing company_gateways  
[2021-04-26 09:00:26] production.INFO: Importing client_gateway_tokens  
[2021-04-26 09:00:26] production.INFO: Importing vendors  
[2021-04-26 09:00:32] production.INFO: Importing projects  
[2021-04-26 09:00:32] production.INFO: Importing products  
[2021-04-26 09:00:33] production.INFO: Importing credits  
[2021-04-26 09:00:33] production.INFO: Importing invoices  
[2021-04-26 09:01:09] production.INFO: Importing recurring_invoices  
[2021-04-26 09:01:09] production.INFO: Importing quotes  
[2021-04-26 09:01:26] production.INFO: Importing payments  
[2021-04-26 09:01:40] production.INFO: Importing expense_categories  
[2021-04-26 09:01:40] production.INFO: Importing task_statuses  
[2021-04-26 09:01:40] production.INFO: in task statuses  
[2021-04-26 09:01:40] production.INFO: finished task statuses  
[2021-04-26 09:01:40] production.INFO: Importing expenses  
[2021-04-26 09:01:41] production.INFO: Importing tasks  
[2021-04-26 09:01:41] production.INFO: Importing documents

Hi,

Which version of v5 are you using?

cc @david

@arzelia

For the documents to migrate, the files must be publicly accessible as the system attempts to download them via URL

Are there any error messages on the v5 side?

the version I have is v5.1.31-C44 installed via softaculous.

Is there some setting I should check for the files to be publicly accessible? I searched in settings but didn’t find any privacy related setting.

The log I posted in the original post is from the v5 side.

Here are the ones from v4 side:

The error looks like a v4 error when trying to use PHP 7.4

Should I be running php 7.2 instead?

v4 does not support PHP 7.4, you would need to use 7.2 or 7.3

Alright! thanks Hillel. I’ll try that down to 7.3. I think it inherited my main portal’s 7.4 when my host upgraded it.

I noticed there’s a later version for v4. I’ll try 4.5.38 first as well then attempt the migration again.

Is there a way for me to delete the company of the past few migration copies on v5’s side so I can redo a fresh migration? There is one migrated company there but duplicate entries of quotes, expenses, invoices, etc.

You can delete a company on Settings > Account Management

I’ve updated to 4.5.38 for my v4 and also updated v5 to 5.1.61 (via softculous). I’ve switched v4 to use php7.3

I’m getting this error upon submitting the migration.
Oops, something went wrong. Migration can't be processed at the moment. Please checks the logs.

The v5 log doesn’t show anything in particular just that it stops at this line.
[2021-05-17 06:41:43] production.INFO: Importing payments

The v4 log shows this:
[2021-05-17 00:00:14] production.ERROR: ErrorException [0] : /home3/username/public_html/invoiceninja/app/Models/Account.php [Line 1126] => Unparenthesized a ? b : c ?: d is deprecated. Use either (a ? b : c) ?: d or a ? b : (c ?: d) {“context”:“PHP”,“user_id”:0,“account_id”:0,“user_name”:"",“method”:“GET”,“user_agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36”,“locale”:“en”,“ip”:“192.168.1.1”,“count”:1,“is_console”:“yes”,“is_api”:“no”,“db_server”:“mysql”,“url”:"/"} []
[2021-05-17 00:00:14] production.ERROR: ErrorException [0] : /home3/username/public_html/invoiceninja/app/Models/Account.php [Line 1126] => Unparenthesized a ? b : c ?: d is deprecated. Use either (a ? b : c) ?: d or a ? b : (c ?: d) {“context”:“PHP”,“user_id”:0,“account_id”:0,“user_name”:"",“method”:“GET”,“user_agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36”,“locale”:“en”,“ip”:“192.168.1.1”,“count”:1,“is_console”:“yes”,“is_api”:“no”,“db_server”:“mysql”,“url”:"/"} []

Are these new v4 errors? They’re very likely from using PHP 7.4

That’s odd though. I have a phpinfo.php on there and it shows that it is running php7.3.28
yes the 2nd cluster of errors is from v4

What do you see if you run php -v

I’m not very technical and on a shared hosting. I tried PuTTy in with the command you mentioned and it shows:
PHP 7.3.28 (cli) (built: May 5 2021 12:47:09) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.28, Copyright (c) 1998-2018 Zend Technologies
with the ionCube PHP Loader + ionCube24 v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd.

The invoice ninja is installed on a subdomain so not sure if I did it right.

@david do you have any thoughts?

cli is probably running a different version to the web php.

this is a php7.4 runtime error.

I think… I managed to fix the php related error. Apparently it is affected by the main domain’s php as well. Invoice ninja is installed on a subdomain with it’s php set to 7.3 as reflected by a phpinfo file and the command I ran from Hillel. After changing the main domain’s php, some other issues related to it with invoice reminders cron not going through seems to work now.

But somehow I am still getting the migration not going through error. There aren’t any particular errors in the log files just that it shows stopping at this line:
[2021-05-21 04:25:42] production.INFO: Importing quotes