Simplified writing of Datomic schemas.
Add [dato-schema "0.1.3"]
to your dependency vector.
(require 'dato-schema.core)
#d/schema [[:entity/attr :one :string "Documentation"]]
=>
[{:db/id #db/id[:db.part/db -1000001],
:db/ident :entity/attr,
:db/valueType :db.type/string,
:db/cardinality :db.cardinality/one,
:db.install/_attribute :db.part/db,
:db/doc "Documentation"}]
#d/schema [[:entity/attr :many :long :unique]]
=>
[{:db/id #db/id[:db.part/db -1000002],
:db/ident :entity/attr,
:db/valueType :db.type/long,
:db/cardinality :db.cardinality/many,
:db.install/_attribute :db.part/db,
:db/unique :db.unique/value}]
#d/schema [[:entity/attr :enum]]
=>
[{:db/ident :entity/attr}]
and so forth.
Supported types is :keyword :string :boolean :long :bigint :float :double :bigdec :ref :instant :uuid :uri :bytes
.
Supported list of toggles is :unique :identity :index :fulltext :component :no-history
.
Last parameter is an optional documentation string.
This project is derived from cognitect-labs/vase.
Copyright © 2015-2017 Cognitect, Inc. All rights reserved.
Copyright © 2018 Ivar Refsdal.
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close