gpt4 book ai didi

database - 如何使用 datomic Clojure REPL CLI 界面列出 datomic 中的可用数据库

转载 作者:行者123 更新时间:2023-12-04 09:42:35 26 4
gpt4 key购买 nike

你好,我是数据数据库的新手,
我有一个与 2x 数据数据库的现有数据连接。

我使用了来自 https://docs.datomic.com/cloud/tutorial/client.html#prerequisites 的信息

现在我必须对数据库名称进行硬编码以创建备份。但是如何查询数据库现有名称的 datomic 呢?我在 datomic 站点上搜索了文档,但无法弄清楚如何列出可用的数据库名称。例如创建数据库是这样的

启动repl

$ ./bin/repl

然后像这样连接和定义一个数据库
user=> (require '[datomic.api :as d])

现在创建第一个数据库
user=> (def db-uri "datomic:sql://firstDatabase?jdbc:postgresql://datomic-postgresql:5432/datomic?user=datomic&password=****")
user=> (d/create-database db-uri)

第二个数据库
user=> (def db-uri2 "datomic:sql://secondDatabase?jdbc:postgresql://datomic-postgresql:5432/datomic?user=datomic&password=****")
user=> (d/create-database db-uri2)

稍后,我想列出我的数据库名称而不想知道原始名称,我可以使用什么api调用?我找不到任何类似于以下内容的 api:
user=> (d/list-database) ....?

也许使用 repl api 是不可能的?有什么解决方法吗?

最佳答案

感谢这个答案:

https://forum.datomic.com/t/simplest-way-to-get-all-database-names/404/2

我找到了一个名为 get-database-names 的 api 调用,它将显示所有创建的数据库,* 必须用于名称所在的位置:

(获取数据库名称 uri)

user=>   (d/get-database-names "datomic:sql://*?jdbc:postgresql://datomic-postgresql:5432/datomic?user=datomic&password=XXXX")
2020-06-08 15:06:49.047 INFO default datomic.kv-cluster - {:event :kv-cluster/get-pod, :pod-key "pod-catalog", :phase :begin, :pid 271, :tid 11}
2020-06-08 15:06:49.049 INFO default datomic.kv-cluster - {:event :kv-cluster/get-pod, :pod-key "pod-catalog", :msec 1.14, :phase :end, :pid 271, :tid 11}
("mydatabase1" "mydatabase2")

关于database - 如何使用 datomic Clojure REPL CLI 界面列出 datomic 中的可用数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62264133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com