Sqlconfig: manage your config files with sqlite
The problem
Your app probably has a lot of configuration in git. Storing it as files in a git repo has a lot of advantages, including:
- Diffing
- Rollbacks
- Blame
- Branching
However, flat files in a repo can get unwieldy:
- Different files need to be kept in sync with each other
- Bulk operations are challenging
- It’s easy to add invalid data
- They’re disorganized
sqlconfig
gives you all the advantages of config files stored in version control, with the power, flexibility and safety of SQL.
The solution
Model your config as a SQLite database. sqlconfig
can deterministically turn that database into diffable flat files that live in the repo and back again.
Tutorial
Install sqlconfig. You need Python 3.