Migrating From v4.5.17 to v5

Missed that little link, sorry.

Looking at the steps involved I am going to have to leave this until another time.

I assume if I backup the MySQL data that will be OK ?

I have years of historical invoice data in there that I simply cannot lose.

Not sure I follow, you can use the migration tool in the latest v4 to bring over your data.

Sorry, I mean when I migrate to v5.

What do I do with the data?

I don’t understand what you mean by “What do I do with the data?”, the migration tool copies the data from v4 to v5.

That was my concern.

Whether my client and invoicing data in version 4 would be migrated.

Yes, all data is migrated

Apologies Hillel

I am clearly missing a simple step here.

I have upgraded to v4.5.40 and downloaded the v5.2.5-release.zip.

I have unzipped the files and went to the setup page.

I followed the steps and when I try to login using the original credentials all I get is Error 500.

I checked the laravel log and there’s an error but from the day before which makes no sense:

[2021-06-20 22:58:56] production.INFO: SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘password_resets’ already exists (SQL: create table password_resets (email varchar(128) not null, token varchar(255) not null, created_at timestamp null) default character set utf8mb4 collate ‘utf8mb4_unicode_ci’ engine = InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8)
[2021-06-20 23:03:11] production.ERROR: Trying to get property ‘settings’ of non-object {“exception”:"[object] (ErrorException(code: 0): Trying to get property ‘settings’ of non-object at /home/MYDOMAIN/public_html/app/Mail/Admin/ResetPasswordObject.php:40)

And then a stack trace.

Luckily I took a cPanel backup but this is just insane.

Are you setting up v5 using a blank database?

No

As mentioned here, I have years of client data to migrate.

I am now on v4.5.40

I think you may be misunderstanding how the upgrade works. v5 is a completely new app, you need to setup v5 as a clean install and then use the migration tool in v4 to transfer your data/settings. This would require creating a new database for the v5 app.

OK, it might help if all that was explained in one page rather than having to here there and now to support. I’ve just tied you up for hours on something that should have been simple, so sorry.

So, I need to create an entirely new website basically and database and then when I use the migrate tool in v4 insert the new URL, API key and everything in there, is that right?

Sorry for the trouble! We have this message in many places, we’ll look for more places to add it (cc @david)

“To upgrade from v4 you need to install v5 as a separate app and then use the migration tool in the latest version of v4 on Settings > Account Management.”

Just about, you would use your user/pass to run the migration.

Thanks.

Luckily I run a dedicated server and have domains & sub domains available to me.

So (in theory) if I install v5 on the new domain and go to v4 and insert the new domain details (including MySQL I guess) it should bring over all my data and historical invoicing.

I feel a tutorial video coming on, haha. I’ll do that later I think.

Once v5 is setup you’ll create an initial account which is blank. You can then enter the URL/email/pass in the v4 migration tool. Once the migration completes you can switch companies in v5 to see the migrated v4 company.

A video explaining the migration would be awesome! No pressure…

No worries.

We do lots of video tutorials for our clients for other things so this isn’t a hard thing to do, we just have to do it more slowly and take our time.

1 Like

Question…

As the domain I am migrating to already has v4 installed is it at all possible to export all the company, client & billing data out of that platform and then into the v5 install as a new company by any chance?

You need to use the built-in migration tool to transfer data/settings from v4 to v5.

Thanks, but woul dthis plan work…

Install v5 on Domain 1
Migrate v4 to v5 on domain 1
Take another installation on another domain and add this to the migrated data on domain 1

???

In essence create v5 and migrate 2 separate v4 installations to this new domain and retain all data from both?

@david is this supported?