在postgresql中使用clojure和clojure-sql。
我正在尝试创建一个引导函数,所以我想删除db中的所有表,然后干净地重建它们。由于有任意数量的表,如果我可以立即将它们全部丢弃,那将是很好的。但是,这失败了:
(def db
{:classname "org.postgresql.Driver"
:subprotocol "postgresql"
:subname "//localhost/triface"
:user "postgres"})
(defn rebuild-table []
(sql/with-connection db
(sql/do-commands "drop database triface" "create database triface")))
如何从某种方式修改连接发出drop database命令?
答案 0 :(得分:0)
您无法删除所连接的数据库。在发出drop / create命令之前连接到另一个数据库(例如template1
)。
答案 1 :(得分:0)
从这里的另一个问题中找出这个问题:How do I drop or create a database from clojure.java.jdbc?。
最后!