Tried an alpha or beta build, and want to return to the stable version?

PhotoStructure versions are always backward-compatible, but not forward-compatible.

In other words, your library is automatically upgraded when you run newer versions of PhotoStructure, but if you then try to run an older versions of PhotoStructure, it won’t know how to “downgrade” your library to the older version.

If you’re having to roll back to a prior build due to bugs,

  1. My apologies for the glitch, and
  2. Please make sure the bug is reported here on the forum, or on discord.

If the upgrade caused a rebuild

Sorry: your database assets won’t point to the correct previews (as those primary keys have changed), so you’ll need to delete your library’s .photostructure directory and re-import everything.

If your library wasn’t rebuilt

Huzzah, you’re in luck: PhotoStructure makes a backup of your library database when it does an upgrade, and makes backups periodically as well. You should be able to restore your library following these instructions:

First, shut down PhotoStructure

Second, follow these instructions to find where your database backups are and restore an older backup. Copy (don’t move) a database backup from before you upgraded to $your_library_directory/.photostructure/models/db.sqlite3

Finally, downgrade PhotoStructure.

If you’re using PhotoStructure for Docker, change to photostructure/server:stable (rather than :alpha or :beta) and docker pull or docker-compose pull the image.

If you’re using PhotoStructure for Node, run git checkout main ; ./start.sh

If you’re using PhotoStructure for Desktops, just re-download the installer.

Downgrades seems like a PITA

Yeah, it is. Know that perfect forward-compatibility is really hard, and getting that right would be time not spent on feature development.

So what’s the recommendation?

Many PhotoStructure users try out alpha builds with a test library that only has a few hundred photos or videos.

If all goes well, then they upgrade their full library, specifically to avoid “full rebuild” events.

1 Like