I have an implementation of this in Datsync (here), and I'd really rather have it just be a function in datascript.core if you're amenable. More or less, it creates a new database from the old datoms and the updated schema.
There's a question about what the should be sent to listeners when this happens. It could perhaps be a more or less empty transaction report with keys :schema-changes, :new-schema and :old-schema, perhaps.
Happy to clean this up and PR if you like.
I have an implementation of this in Datsync (here), and I'd really rather have it just be a function in
datascript.coreif you're amenable. More or less, it creates a new database from the old datoms and the updated schema.There's a question about what the should be sent to listeners when this happens. It could perhaps be a more or less empty transaction report with keys
:schema-changes,:new-schemaand:old-schema, perhaps.Happy to clean this up and PR if you like.