Clojure postgresql:如何删除数据库?

时间:2011-08-16 06:17:39

标签: postgresql clojure

在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命令?

2 个答案:

答案 0 :(得分:0)

您无法删除所连接的数据库。在发出drop / create命令之前连接到另一个数据库(例如template1)。

答案 1 :(得分:0)

从这里的另一个问题中找出这个问题:How do I drop or create a database from clojure.java.jdbc?

最后!