首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Korma配置瞬态字段

如何使用Korma配置瞬态字段
EN

Stack Overflow用户
提问于 2012-10-03 11:33:43
回答 1查看 279关注 0票数 4

我使用Clojure with 科尔马将Clojure映射存储在Mysql数据库中,例如使用此结构存储映射:

代码语言:javascript
复制
(defentity users
  (table :user)
  (entity-fields :email 
                 :password 
                 :name))

在一个包含id (隐式定义)、emailpasswordname四列的表中。

所以,当我调用这段代码时,一切都很好:

代码语言:javascript
复制
(insert users (values {:email "john@example.com"
                       :password "____hashed_passw___"
                       :name "J"}))

我遇到的问题是,我的映射可能包含一些键,这些键在数据库中没有对应的列(而且我不想持久化这些值)。例如:

代码语言:javascript
复制
(insert users (values {:email "john@example.com"
                       :password "____hashed_passw___"
                       :name "J"
                       :something "else"}))

会抛出一个错误MySQLSyntaxErrorException Unknown column 'something' in 'field list'

理想情况下,我想知道的是,在Korma中是否有一个选项可以忽略地图中的额外键。这个问题可以通过dissoc-ing来解决,所有这些都可以保存,但是我更愿意在我这么做之前先找出是否有一个内置的方法(或者其他更好的主意)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 15:04:39

不,您必须从映射中删除额外的键/值对。可以说,科马可以根据叛逃的实体将他们撤除。

我建议您要么将它作为特性请求在https://github.com/korma/Korma上提出来,要么考虑自己添加它。克里斯·格兰杰( Chris ),这位维护者,很容易交谈,很可能会考虑你的想法。

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

https://stackoverflow.com/questions/12707618

复制
相关文章

相似问题

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