I've created an application that can create and update documents. A document is a relational database (it's a SQLite database).
I'm planning to update the structure of the database (add fields, add relations, add tables)
The database stores the database_version
in itself. I plan to embed update SQL scripts into the software and apply them depending on the version of the loaded database. Note I will never update or remove tables or fields as I want full retro-compatibility
Is it a good solution or is there a better one?