# Impact of alternative Database Engines on data recovery workflows?

**URL:** <https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407>\
**Category:** Development\
**Tags:** data-recovery\
**Created:** [March 15, 2023, 1:28am UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407 "2023-03-15T01:28:50Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [March 15, 2023, 1:28am UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/1 "2023-03-15T01:28:50Z")

</div>

While look for versioning identification information for [a user trying to recover an old Gramps database](https://gramps.discourse.group/t/cant-open-older-version-gramps-files-with-lastest-version/3406/2), noticed that the Database version information _might_ be insufficient.

Since Gramps 5.0 added alternative database engine to BSDDB, are additional steps needed for identifying the englne in addition to the database schema? Does this mean the additional recovery steps need to be documented?

Can 5.1’s default SQLite recover an addon MongoDB database file?

---

<div class="post-metadata">

**Author:** ![GeorgeWilmes](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@GeorgeWilmes](https://gramps.discourse.group/u/GeorgeWilmes)\
**Post date:** [March 15, 2023, 12:46pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/2 "2023-03-15T12:46:34Z")

</div>

I thought that the Gramps backup files were XML, regardless of which back-end database the user has? The only thing that matters (in terms of being able to restore) is the version of the Gramps software?

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [March 15, 2023, 3:12pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/3 "2023-03-15T15:12:00Z")

</div>

Since Gramps does not automatically produce XML backup files, emergency data recovery workflows (typically for uninitiated people who inherited a hard drive with Gramps data) have included dealing with database files. The autoback & backup on exit features were introduced in 5.0 but are not the default.

This is an attempt to document institutional knowledge while the developers who created a feature are still active with the project. (Much easier than restructing legacy knowledge a decade from now.)

---

<div class="post-metadata">

**Author:** ![GeorgeWilmes](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@GeorgeWilmes](https://gramps.discourse.group/u/GeorgeWilmes)\
**Post date:** [March 15, 2023, 3:39pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/4 "2023-03-15T15:39:58Z")

</div>

On my Mac, in the folder ~/Library/Application Support/Gramps/grampsdb, each family tree has a folder with a cryptic name, and in most of those folders is a file database.txt containing the text “sqlite”. But one of the folders is much older and has files bdbversion.txt (containing “(4, 8, 30)” and schemaversion.txt (containing “19”).

Are those the kinds of things you’re looking for?

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [March 15, 2023, 3:51pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/5 "2023-03-15T15:51:24Z")

</div>

The database.txt file is ONE of things that the data recovery documentation should expand upon.

But there is a likelihood that files will become separated. So some taxonomy/classification workflows for database files would be a goal too.

Once a database file is identified for schema, version & database engine; a user could cross-reference which version of Gramps & database engine plugin must be installed to load that database file and generate a .gpkg backup file.

---

<div class="post-metadata">

**Author:** ![GeorgeWilmes](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@GeorgeWilmes](https://gramps.discourse.group/u/GeorgeWilmes)\
**Post date:** [March 15, 2023, 4:12pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/6 "2023-03-15T16:12:35Z")

</div>

In the folders with the database.txt file containing “sqlite”, the database itself is called sqlite.db. Within the database, in the metadata table, there’s a row for “version” but the value is a BLOB.

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [March 15, 2023, 5:24pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/7 "2023-03-15T17:24:20Z")

</div>

The changes to the database file might also entail updating the FAQ answer to the question: “[Why is the database format (GRDB) not portable?](https://www.gramps-project.org/wiki/index.php/Gramps_5.0_Wiki_Manual_-_FAQ#Why_is_the_database_format_.28GRDB.29_not_portable.3F)” and the **Import .grdb** documentation… both from the [GUI](https://www.gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#GRAMPS_V2.x_database_import) and the CLI.

@prculley [improved the Convert process for 5.2](https://github.com/gramps-project/gramps/pull/1010) too. This MIGHT be a non-issue.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/gramps/original/1X/2ac1e712b7adf612e31ca08a55419f4cf37c0158.png) [@system](https://gramps.discourse.group/u/system)\
**Post date:** [April 14, 2023, 5:24pm UTC](https://gramps.discourse.group/t/impact-of-alternative-database-engines-on-data-recovery-workflows/3407/8 "2023-04-14T17:24:37Z")

</div>

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