I'm developing a game with a component-based architecture. I want to store entity descriptions in a SQLite database for compactness and convenience. Obviously the backend code is (and the database schema will be) under version control. Since important behaviour is in the database, and because multiple people will be working on it, I feel that it too should be properly versioned.
So far my only solutions are:
Make periodic backups of the database.
This would be out of line with the existing version control setup, and thus error-prone.
Dump the database to a diffable format and version that.
This requires importing said format, which is akin to compiling, which should be avoided.
I'd like cleaner alternatives within the existing setup, or a compelling reason to switch to another. Is there a nice C++ library for manipulating a text-based (i.e., diffable, and preferably not XML) database?