How to upgrade when install has changed paths

I have v2.5 installed on our local cluster. Recently, our cluster managers migrated our shared group project storage (which housed cryosparc and its database) to a new path, breaking the v2.5 install.

What is the recommended way to migrate / upgrade in this situation? I have seen the migration tutorial, but that seems to require a working cryosparc to dump the database.

If there’s no easy way out, I hope to get the cluster managers to symlink the new location to the old, at least until I can get our old database out. But that will require some arm-twisting.

Hi @rsrock,

As long as you can salvage the cryoSPARC database, the project directories and the raw data you’ve imported, you can even re-install cryoSPARC and have everything as it was.

First, you can install a fresh copy of cryoSPARC (if you can’t salvage your old instance). Once thats done, you should turn it off: cryosparcm stop

Then, follow the steps in the migration tutorial to copy over the database and modify the new cryoSPARC’s configuration to point to the new database.

Turn on cryoSPARC: cryosparcm start

Then, specify the new location of your project directories to your new cryoSPARC instance (which should be showing you your projects and their thumbnails at this point if you were able to migrate your database) by following Part B in the migration tutorial. You can also do the same for your raw data by following Part A.

Once this is done, you should have a working cryoSPARC with all your old data again. Let me know if you have any questions or if this doesn’t apply to your situation.

Thanks. It was unclear to me if the DB schema was the same from 2.5 to 2.9, but apparently it is.

Seems to be working-- I have migrated the database for 2.9, and can see the old projects. I’m now in the midst of Part B in the migration tutorial, but I found a couple of errors in the code snipped for “step two”. The line with new_project_dir is missing a closing paren, and the last line is missing a comma before str(e). If I find anything else, I will let you know.