Migrating self-hosted to v5 silently fails

I have a self-hosted installation of Invoice Ninja v4.6.0 with Apache and PHP-FPM which I would like to migrate to v5. I have installed a new instance of v5.3.29 according to the instructions in Free Source Available Invoicing, Expenses & Time-Tracking | Invoice Ninja (with QUEUE_CONNECTION=database and supervised queue runner) then followed the migration instructions in Free Source Available Invoicing, Expenses & Time-Tracking | Invoice Ninja up to “Migration has started. We’ll update you with status, on your company email.” The email never arrives.

I have followed the troubleshooting instructions without success. The only hint I’ve found so far is the last request in the Apache error log for the v5 site:

[07/Nov/2021:23:39:05 +0000] "POST /api/v1/migration/start/Wpmbk5ezJn HTTP/2.0" 404 715 "-" "unirest-php/2.0"

Perhaps the migration is unable to start due to the 404 error? How can I debug this further?

Unfortunately, storage/logs/laravel.log only contains:

[2021-11-08 00:00:03] production.INFO: latest version = 5.3.29
[2021-11-08 00:00:06] production.INFO: updating currencies
[2021-11-08 00:00:10] production.INFO: latest version = 5.3.29

and storage/logs/invoiceninja.log does not exist even though I’ve added EXPANDED_LOGGING=true to .env and run php artisan optimize (in addition to giving read+write permission to all users to rule out permissions issues). I suspect logging is b0rked in some way, but don’t know how to investigate that further.

Any suggestions would be appreciated.

Thanks,
Kevin

Hi,

@david do you have any suggestions?

I would suggest turning off the queue in v5 by changing the .env variable

QUEUE_CONNECTION=sync

then retry the migration again, your queue’s may not be running.

Thanks for the suggestion @david! I can confirm that I get the same result with QUEUE_CONNECTION=sync.

Problem solved. The failure resulted from running Invoice Ninja v4 on PHP 7.4. I was able to migrate successfully using an instance of Invoice Ninja v4 on PHP 7.3. Sorry for the noise.