How to backup older Gramps data before converting to the newer schema?

[Gramps v5.2.3 on Arch Linux]

I have some family trees in Gramps but was away from it for a while and ended up inadvertently upgrading the software (now v5.2.3 on Linux) past the version in which I last edited the data (v3). So I want to be careful not to lose the trees as I fix this.

I think I need to:

  1. install and launch v3
  2. load the family trees and make backups
  3. exit v3 and launch v5
  4. upgrade the family trees
  5. uninstall v5

I don’t feel great about installing v3. Is there a way to install it so that it doesn’t interfere with v5? Alternatively, can I uninstall v5 without losing the data?

Well, you could download a PortableApps archival version 3.4.9 of Gramps for Window (and the 5.2.3 version).

Make a backup with Media objects of the most recently edited tree. That ensures all your media files are packaged for travel. Find your Gramps database directory. And makes a copy when upgrading a database. Find that copy.

Put all on a USB thumbdrive (if you don’t want to mess with a Windows VM) and take it to a public library to verify you have everything on an independent network.

Restore the backup with the 5.2.3 to get all the media objects. Or use 7zip to unpack just those media files.

Set use the 3.4.9 version to verify all the database Tree files are readable.

This becomes your validated emergency fallback USB. Be certain to put a good ReadMe.txt file in the top folder of the USB telling people how to get the device back to you. And it should describe the contents to inheritors.

Isolating the changes since you converted from 3 to 5 is another issue. Lets attack that in another thread.

If you come from version 3, of which the last version was 3.4.9, the upgrade path is pretty safe, and does not really require creating backups, because Gramps 5.2.3 will create them for you. You can however create a backup outside Gramps by copying all files inside .gramps/grampsdb to a safe place, like an external drive, before you start the new version. There is no need to install 3.4.9, because 5.2.3 can upgrade the database for you.

When you start the new version, it will show you a list of trees, and when you try to open one, Gramps will inform you about the steps needed to upgrade it, and perform them for you. And during that process, it will create ZIP files in your .gramps directory that contain the old contents of each database directory.

This whole process works well, provided that your 5.2.3 installation includes the BSDDB database backend, and I don’t know whether that’s included when you install 5.2.3 on Arch Linux. If not, you may need to install a package like python3-bsddb.

I’m running Linux Mint here, so I can’t give more precise directions about package name. The process itself should be pretty straightforward.

Also DON’T create backups with media. They create a lot of mess when you restore them, and if you use Arch Linux, I assume that you know where your media are. Upgrading does not change media paths, so if your old tree could find them, the upgraded tree will too.

P.S. a fresh install of 5.2.3 will not put the database in .gramps/grampsdb, but if it finds an old installation in .gramps, it will use it.

2 Likes

Create a backup WITH media about once annually. But never restore it … except in a test.

Extracting with a utility (like 7zip) offers you a lot more control. The data.gramps in the .gpkg file is the compressed Tree data. The rest are the media objects.

I backed up ~/.gramps and forged ahead, and v5 seems to have pulled in the old data without any issue (I didn’t have any media.). Thanks to you all for the rapid assistance!

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.