未指定dbCreate时会发生什么?

JBT*_*JBT 5 grails

根据官方Grails文档,建议不要在生产中指定dbCreate属性.那么,在那种情况下会发生什么?当生产war文件最初加载到容器(例如Tomcat)时,Grails会做任何事情,例如验证吗?如果验证完成,与dbCreate ="validate"的区别是什么?或者根本没有,让开发人员确保域类和数据库模式之间的映射是否正确?先感谢您.

gra*_*hey 11

如果dbCreate未指定,则设置为空字符串(dbCreate = ""),或者设置为除create,create-drop,update或validate之外的任何内容,则不会发生任何事情.不会创建,验证或更新数据库.

从文档中,您可以使用create,create-drop,update或validate,以及"任何其他值 - 什么都不做".它还说"你也可以完全删除dbCreate设置,一旦你的模式相对稳定,这是明确的,当你的应用程序和数据库部署在生产环境中时,建议这样做.然后通过适当的迁移来管理数据库更改,无论是使用SQL脚本还是迁移像Liquibase这样的工具(数据库迁移插件使用Liquibase并与Grails和GORM紧密集成)."