Re:YAML: Probably not so great after all
by zrail on Sunday August 18, 2019 @08:01PM
(#20733765)
SQLite databases might fit the bill. Fairly lightweight. Can talk to them in basically any language. Instead of templates you copy the database file and issue some UPDATEs.
[ Parent
| on HN ]
But that, and the parent's idea of binary formats in general, throws away the absolute golden property of text format configuration files: you can put those in git, and see with an accuracy of a single character what has changed. My impression was always that this was a huge reason for plain text files in the first place.
Someone mentioned protobufs, maybe with something like those one could have both?
> you can put those in git, and see with an accuracy of a single character what has changed.
You can use sqldiff[1]. Try adding it to your .gitattributes[2]. If you need TRIGGERs and VIEWs, consider dumping your database[3] instead.
[1]: https://www.sqlite.org/sqldiff.html
[2]: https://git-scm.com/docs/gitattributes
[3]: https://gist.github.com/peteristhegreat/a028bc3b588baaea09ff...
They don't type check though; most constraints arent enforced, and the underlying reality (slinging around mostly strings) leaks out often.