On Fri, 5 Oct 2018 17:39:57 +0200
Daniel Kraft <[email protected]> wrote:
> I need the ability to make multiple changes / commits to my SQLite
> database but keep snapshots of previous states and potentially roll
> back to those states later on. All of that needs to be persistent,
> i.e. survive closing the database and restarting the process. After
> some time, I can get rid of old snapshots (my process determines by
> itself when and which snapshots can get discarded, it is not based on
> some fixed TTL or something like that).
"The totality of data in a data bank may be viewed
as a collection of time-varying relations."
-- E.F. Codd in
"A Relational Model of Data for Large Shared Data Banks"
You're not the first. Data change over time. SQL doesn't support data
versions as a language feature, but you can implement it yourself
in your database design.
Add a "version" column to your table. Create views that (using a
self-join) show only the latest version. Periodically purge old
versions. Roll back by deleting new versions.
--jkl
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users