Database Differences Report

From Gramps
Revision as of 22:18, 13 July 2020 by Lordemannd (talk | contribs) (add detail about items not included in the report, add note about effect of automatic corrections on a DB comparison)
Jump to: navigation, search

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this plugin by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager

Database Differences Report example output

The Database Differences Report allows a mostly complete comparison between the currently opened database (Family Tree) and a Gramps XML file.


Open the family tree you want to compare then

Select Reports > Text Reports > Database Differences Report... from the menu.

On the Report Options tab select the Family Tree file: to be compared against.

Check or Uncheck the options you want to test for in the report eg: All are checked by default

  • [x] Show items that different
  • [x] Show items missing from file
  • [x] Show items added in file


  • help button shows the Reports help page, but it doesn't currently include the Database Differences Report information.


(Gramps 5.1.2 with Database Differences Report 1.0.19)

The Database Differences Report is focused on the principle elements of the Database. There are a number of other types of 'metadata' that are not examined during the Database Differences Report.

  • researcher
  • custom types
  • gender name maps
  • base path for media
  • surname mapping for the "Group As" surname feature
  • etc.

Some of these 'metadata' are not 'regular' in the way they are stored, comparing them would be a fair amount of additional code work. Also note that some of the 'metadata' would be difficult to compare because they are not stored in the XML files, but rather in the Gramps initialization files.

Note regarding older backup files

In the past Gramps allowed data to be input in ways that are no longer allowed. When you import an older backup file, many of these issues are silently corrected for you. For example, Gramps used to allow leading and trailing spaces in name fields. Gramps now removes the leading and trailing white space when the data is entered.

The Database Differences Report performs it's work by creating a temporary Database and importing the backup file that you specified. A side effect of this is that if your Gramps DB has been around for a long time, it may still contain things that are not currently allowed. But the comparison will be done against the backup file that has all of those issues fixed. Each has the potential of showing up as a difference, but on examination they look the same. It is quite hard to see those leading/training spaces.

There are 2 solutions:

  • backup your database, create a new empty DB and import backup you just made, then go ahead with the report.
  • run the "Clean input data" tool on your DB, then do the report.

See also