如何使用datomic Clojure REPL CLI接口,在datomic中列出可用数据库。

问题描述 投票:0回答:1

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

我使用的信息从 https:/docs.datomic.comcloudtutorialclient.html#前提条件。

现在我必须硬编码db-name来创建一个备份。但我如何查询datomic的现有数据库名称?我搜索了datomic网站上的文档,但不知道如何列出可用的db名称。例如,创建数据库是这样的

开补

$ ./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 是不行的,有什么变通的办法吗?

database clojure command-line-interface datomic
1个回答
1
投票

谢谢这个答案。

https:/forum.datomic.comtsimplest-way-getall-datatabasenames4042。

我发现了一个叫get-database-names的api调用,它将显示所有创建的数据库,*必须用在名字会是的地方。

(get-database-names 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")
© www.soinside.com 2019 - 2024. All rights reserved.