Datomic Seattle 示例在执行插入时使用显式 ID 号:
{:db/id #db/id[:db.part/user -1000014], :neighborhood/name "Belltown", :neighborhood/district #db/id[:db.part/user -1000013]}
{:community/category ["community council"], :community/orgtype :community.orgtype/community, :community/type :community.type/website, :db/id #db/id[:db.part/user -1000015], :community/name "All About Belltown", :community/url "http://www.belltown.org/", :community/neighborhood #db/id[:db.part/user -1000014]}
对于单个模式的普通插入 - 动态生成 ID 要简单得多:
[
{
:db/id #db/id[:db.part/user],
:car/model \"Ferrari\"
:car/numberplate \"RENT ME!\"
}
]
这将在插入时生成 ID。
假设我有一个更复杂的模式,我想在其中表示一个 Renter、Car 和 RentEvent。
我可以:
[
{
:db/id #db/id[:db.part/user],
:car/model \"Ferrari\"
:car/numberplate \"RENT ME!\"
}
]
=> 获取 ID 号并将其粘贴在 A 中
[
{
:db/id #db/id[:db.part/user],
:renter/name \"John Smith\"
:renter/socialsecuritynumber \"123456789\"
}
]
=> 获取 ID 号并将其粘贴在 B 中
[
{
:db/id #db/id[:db.part/user],
:rentevent/car A
:rentevent/renter B
}
]
但这涉及到大量的身份证号码。我想将它插入一个大块中,例如:
[
{
:db/id #db/id[:db.part/user],
:rentevent/car {
:db/id #db/id[:db.part/user],
:car/model \"Ferrari\"
:car/numberplate \"RENT ME!\"
},
:rentevent/renter {
:db/id #db/id[:db.part/user],
:renter/name \"John Smith\"
:renter/socialsecuritynumber \"123456789\"
}
]
这可能吗?语法是什么?
假设:
- 这是一个可审计的环境,其中一个可重复的脚本数据库发布由处于控制分离的一方对生产数据库进行。即 - 这需要是一个文本文件,审核员可以在对数据库进行更改之前和之后查看。