What do I need to do to run Datomic with Caribou framework, both for dev and prod servers?
In other words, how can I hack Caribou to make it happen?
Hope it makes sense! Thanks you!
I'm not a Caribou expert, but for what I've seen browsing the source code I don't think it's currently designed for Datomic plug&play.
Most of the critical model querying functions are straight up sql
, the same for model creation.
So you could try rewriting the complete model.clj
with the same API, which would be difficult, or you can try using model hooks, but that would be a real hack.
I'm not Caribou maintainer, but I think currently it's not designed with Datomic nor any other NoSQL database in mind, as you see by current supported database adapters.
I'm one of the the caribou devs.
We use a db protocol to abstract over the differences between databases. I have a long term plan to expand the protocol so that we can use storage that is not sql. Datomic in particular (as well as neo4j). We avoid sql in the model namespace itself, so most of the changes would be on the db adapter protocol. Though the protocol would need to be expanded, and some existing operations would need to be swapped out for the protocol.
If you want to contribute to this, I would be happy to provide some guidance, but the above is a rough outline of what would be needed.