java - 如果我更改 grails 域中的字段名称会怎样?

标签 java mysql grails grails-orm

我有一个 grails 域,其中包含一个名为 created 的字段,但现在我已将其更改为 dateCreated。但是,我的数据库表仍然有名为 created 的列,所以每当我尝试保存记录时,grails 都会提示说 Field 'created' doesn't have a default value 即使我我的域中不再有此字段。

如何解决这个问题?我是否必须打开我的数据库并删除此列?在 Rails 中,这是通过迁移处理的,Grails 中的等效项是什么?

最佳答案

如果只是重命名域字段,可以在映射 block 中指定列名,重命名相关字段时不更改。因此,根本不需要更改数据库。

class MyDomain {
    Date dateCreated
    static mapping = {
        dateCreated column: 'created'
    }
}

关于java - 如果我更改 grails 域中的字段名称会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185106/

相关文章:

java - 在java中创建动态树

java - 如何获取 Drools 中 Activity 规则的数量?

java - 如何通过 Gmail-Imap 阅读邮件后将其删除?

php - Doctrine Memcache::get() 生成:从流中读取行失败 (0) 异常

mysql - 合并表中的 2 行

hibernate - org.hibernate.StaleObjectStateException:行已由另一个事务更新或删除(或未保存的值映射不正确)

java - 我的图像文件必须位于哪里才能使以下代码正常工作?

php - 使用冒号分隔符查找逗号分隔值

spring - Grails 3 Spring 安全插件

grails - Grails异步引导