Editable schema
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 5.8k
- Forks
- 318
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Datsync implementation at src/dat/sync/client.cljc around line 437, then compare it with the datascript.core API. Clarify how rebuilding a database from old datoms and an updated schema should report to listeners, including the proposed :schema-changes, :new-schema, and :old-schema keys. Done means an agreed function and transaction-report behavior are defined for a pull request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100