grails 有自动约束更新吗?如果我们通过添加约束将域类中的字段更改为可为空,则在没有模式导出的情况下它不会反射(reflect)在数据库中。是否有可能让 grails 自动执行此更新。
最佳答案
不,Grails/Hibernate 不会自动更新您的数据库模式(添加新属性等简单情况除外),因为这不是可以可靠地自动化的任务(尤其是在更改数据类型或约束的情况下)。如果将属性的数据类型从 String 更改为 int,Hibernate 应该如何处理现有数据?
所以,这些东西必须手动完成。但是,有工具支持,即 Autobase plugin , 这是基于 liquibase .如果您曾经使用 RoR 进行过开发,那么您可能对迁移很熟悉——这实际上就是 autobase 所提供的。我绝对可以推荐 autobase/liquibase,我们在所有生产项目中都在使用它。
关于database - Grails 自动约束更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2929286/