如何在 Clojure 中使用 JDBC 创建数据库


这是我

尝试过的,从clojure.java.jdbc和包含数据库连接详细信息的映射开始:

(:require '[clojure.java.jdbc :as j]))
(def mysql-db {:dbtype "mysql", :dbname "changelog_development", :user "root", :password "", :useSSL true, :verifyServerCertificate false}

首先,我尝试使用 execute 但它无法使用给定的连接配置,因为数据库尚不存在:

(j/execute! mysql-db "CREATE DATABASE changelog_development") ;; MySQLSyntaxErrorException Unknown database 'changelog_development'    

所以我删除了该dbname键并重试,但是错误说我缺少一个参数:

(j/execute! (dissoc mysql-db :dbname) "CREATE DATABASE changelog_development") ;; IllegalArgumentException db-spec {:dbtype "mysql", :user "root", :password "", :useSSL true, :verifyServerCertificate false} is missing a required parameter  

clojure.java.jdbc连接规范有许多可能的格式。带有 :dbtype:user 等键的那个要求您还指定一个 :dbname

您还可以改用连接 URI 指定连接规范,然后再次执行语句:

{:connection-uri "jdbc:mysql://localhost/?user=root&password="}

最新更新