:- setting(database, callable, 'app_info.db',
I noticed that the database file has grown, although I delete and write and expect that there will be only one line, but I see the entire history of changes
` forall(member(Key = Value, Data),
The persistency library aims at reliable storage with few updates. You can call db_sync/1 as db_sync(gc) to get rid of (too many) retract lines. Using db_sync(gc(always)) it rewrites a clean DB without checking the amount of garbage first.
That should work, unless the amount of garbage is too low or the db is associated to another module. Note that all the predicates are meta predicates and must thus be called in the same module context.