【发布时间】:2012-03-07 06:16:37
【问题描述】:
我有一个使用以下架构的数据库表:
CREATE TABLE users
(id SERIAL PRIMARY KEY,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
email TEXT NOT NULL,
admin BOOLEAN NOT NULL,
active BOOLEAN NOT NULL,
created DATE NOT NULL);
我通过定义 users 实体来使用 Korma
(defentity users
(has-many tips))
我尝试使用以下函数来播种值:
(defn make-user-vals [username pass email]
"Creates an active, non-admin user"
{:username username,
:password (crypt/encrypt pass),
:email email,
:admin false,
:active true,
:created (java.util.Date.)})
(defn seed-users! []
(insert ent/users
(values
(users/make-user-vals "admin" "f00b4r" "foo@example.com"))))
(seed-users!) 失败并显示以下消息(对我来说并不是真正的信息):
Failure to execute query with SQL:
INSERT INTO users (username, password, email, admin, active, created) VALUES (?, ?, ?, FALSE, TRUE, ?) :: [admin $2a$10$AVdxz9HvYOyszhcXVrTVi.oBcbz9EZVfGZYNUI3iDMb0hj3igvpEy foo@example.com #<Date Wed Feb 15 21:59:10 CET 2012>]
ClassCastException java.lang.RuntimeException cannot be cast to java.sql.SQLException clojure.java.jdbc/print-sql-exception (jdbc.clj:350)
知道为什么吗?
(如果有帮助,查询数据库可以正常工作,所以看起来不像是连接问题)
谢谢!
【问题讨论】:
-
不加密密码可以尝试插入吗?
-
我刚做了,没什么区别。
标签: sql database clojure schema korma