首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用korma在postgresql上插入clj-time date-time对象

如何使用korma在postgresql上插入clj-time date-time对象
EN

Stack Overflow用户
提问于 2013-12-19 06:40:05
回答 1查看 1.4K关注 0票数 0

为了避免处理java的date和time对象,我使用了clj-time。当我将它与korma的sqlite3帮助器一起使用时,它工作得很好,但当我做如下操作时

代码语言:javascript
复制
(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之外,还有其他选择吗?

EN

回答 1

Stack Overflow用户

发布于 2014-09-15 14:45:26

我正在使用以下函数

clj-time.coells/to-sql-time

它对我来说运行得很好。我测试了插入查询的模拟运行

代码语言:javascript
复制
(use :reload-all 'clj-time.core)
(use :reload-all 'clj-time.coerce)

然后

代码语言:javascript
复制
(defn sql-now[]
  "Returns now in sql time formate"
  (to-sql-time (now)))

然后

代码语言:javascript
复制
(use :reload-all 'korma.core)

然后

代码语言:javascript
复制
(dry-run (insert :users (values {:email "afdbsk@jasdfgkj.cdosjf" :created_at (sql-now)})))

输出结果是

代码语言:javascript
复制
dry run :: INSERT INTO "users" ("created_at", "email") VALUES (?, ?) :: [#inst "2014-09-15T06:32:24.498000000-00:00" afdbsk@jasdfgkj.cdosjf]
=> [{nil 1}]

它对我来说很好,如果它完全满足您的要求,请检查这些。如果您有任何疑问,请回复?

它对我来说很好用

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20669945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档