为了避免处理java的date和time对象,我使用了clj-time。当我将它与korma的sqlite3帮助器一起使用时,它工作得很好,但当我做如下操作时
(insert posts (values {:name "name" :due_date (date-time 2014)}))我被告知系统不能推断对象类型。
我一直在四处寻找并询问,似乎clojure.java.jdbc支持一种称为ISQLValue的协议,正是为了处理这样的事情。它用于扩展对象,以便它们可以向数据库表示自身。但是,最新版本的korma使用的是CJJ的0.2版本。
每次需要将日期-时间对象呈现给psql数据库时,除了使用clj-time.coells/ to -sql-date之外,还有其他选择吗?
发布于 2014-09-15 14:45:26
我正在使用以下函数
clj-time.coells/to-sql-time
它对我来说运行得很好。我测试了插入查询的模拟运行
(use :reload-all 'clj-time.core)
(use :reload-all 'clj-time.coerce)然后
(defn sql-now[]
"Returns now in sql time formate"
(to-sql-time (now)))然后
(use :reload-all 'korma.core)然后
(dry-run (insert :users (values {:email "afdbsk@jasdfgkj.cdosjf" :created_at (sql-now)})))输出结果是
dry run :: INSERT INTO "users" ("created_at", "email") VALUES (?, ?) :: [#inst "2014-09-15T06:32:24.498000000-00:00" afdbsk@jasdfgkj.cdosjf]
=> [{nil 1}]它对我来说很好,如果它完全满足您的要求,请检查这些。如果您有任何疑问,请回复?
它对我来说很好用
https://stackoverflow.com/questions/20669945
复制相似问题