Re: SQLite schema issue

Patrick Gerlier <[email protected]> Tue, 27 Jun 2023 15:24:45 +0200
Newsgroups gmane.comp.genealogy.gramps.user
Message-ID <[email protected]>
Hello,

As already mentioned by Nick Hall, version 20 is the signature for 
development version. Fortunately, the DB schema is not too far to the 
"production" version. So, you can without too much effort revert your 
tree into the common version.

You can't alter directly the schema version in the DB because it is 
hidden in a BLOB (be it a BSDDB or SQLite DB). However you can either 
disable the test in a modified release version or use a development 
version to export your tree as an XML file (Gramps backup).

In either case, make a copy of your original tree. My best advice is to 
create a new user account so that you clearly segregate your original 
tree and its experimental copy. For convenience, configure the new 
account in the same group as the original one with read and write 
permissions for the group. Gramps trees are stored in ~/.gramps/grampdb. 
Copy this directory into the new account. This is done easily CLI or GUI 
if group permissions are set as suggested.

Create a directory for the GRAMPS application. Copy it there either from 
your own Python library or from the Gramps site. I'll assume that this 
directory is ~/gramps/.

With a text editor (+), open ~/gramps/gramps/gen/dg/generic.py. You have 
an if statement at line 665 (number valid for 5.1.4 but I think it is 
also valid for 5.1.5 -- I have not LXR'ed 5.1.5 and I have heavily 
modified the developement version). If it is not at line 665, look at 
the end of function load(), just before function close(). The relevant 
if statement is either the last statement or the one before last. It 
ends with raise DbVersionError(…). Comment the full if statement (3 
lines) by prefixing each line with a hash character #.

(+) You didn't mention which desktop you installed. Common text editors 
are gedit (Gnome), geany (Xfce or Mate), KWrite (KDE Plasma).

When this is done, launch your patched Gramps from a terminal with command

~/gramps/Gramps.py &

Take care at casing: Gramps.py starts with a capital G.

You can open your ancestor tree irrespective of the DB schema (don't do 
that routinely). Export it from menu Family Trees>Export, selecting 
Gramps XML format.

The exported tree can be copied into your usual user account. There, 
launch the release Gramps version; create a new tree and import the XML 
you created. Check everything is fine.

Patrick

Le 12/06/2023 à 17:56, Gramps a écrit :
> Hi
>
> I have an old family tree, i have not maintained since 2019
> Today I needed to open it, and got the errormessage that the tree was 
> built on sqlite schema version 20 and this version only supports 18-18
> I think the error message was wrong because I believe the old tree was 
> version 18 and the installed gramps supports only version 20.
> Been looking for backups of the tree - but no luck.
>
> To fix this I think i need to install and old version of gramps open 
> the tree, and export it as xml.
> However it is not easy to find how i can install an old version, so 
> any hint would be appreciated.
>
> I run gramps 5.1.5 on linux mint 20.3
>
> /Kaj
>
>
>
>

-- 
Gramps-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gramps-users
https://gramps-project.org