datahike

https://datahike.io/, Join the conversation at https://discord.com/invite/kEBzMvb, history for this channel is available at https://clojurians.zulipchat.com/#narrow/stream/180378-slack-archive/topic/datahike
Björn Ebbinghaus 2019-11-28T14:23:56.190900Z

@whilo Next question: I want to rename an attribute. Datomic recommends adding an alias: (d/transact conn [[:db/add :foo/old-attr :db/ident :foo/new-attr]]) Is this supported in Datahike? Because I get the following Exception when transacting the above:

Execution error (IllegalArgumentException) at datahike.db/rschema (db.cljc:647).
No implementation of method: :kv-reduce of protocol: #'clojure.core.protocols/IKVReduce found for class: datahike.db$remove_schema$fn__32658
Do you have any recommendations on schema changes?

kkuehne 2019-11-28T15:59:38.192600Z

@mroerni As of now, this not supported. But we have plans to add this kind of behaviour. Right now I'm moving all the schema interaction completely to the index, so updates like you want to have should be possible then.

kkuehne 2019-11-28T16:02:43.193200Z

For schema changes right now, you can only create a new schema and then migrate all the old data to the new schema.

cjsauer 2019-11-28T21:48:54.198500Z

@whilo practically speaking, am I correct in mapping what this formalization calls “ops” to datoms in a fact store like datahike? Or perhaps they can be mapped to transaction data/results.

whilo 2019-11-28T22:26:14.198700Z

You can use datoms both to represent ops or state, but here Martin stores ops, yes.