Grails自动数据库移植

DataSource.groovy文件中的dbCreate属性十分重要,因为它可以用来指定是否自动根据GORM类来创建数据库表。其可选值为:

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、涉县网络推广、微信小程序定制开发、涉县网络营销、涉县企业策划、涉县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供涉县建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

  • create-drop - 当Grails运行时删除并重新建立数据库

  • create - 如果数据库不存在则创建数据库,存在则不作任何修改

  • update - 如果数据库不存在则创建数据库,存在则进行修改

开发环境(development)下dbCreate属性默认设置为create-drop:

dataSource {
	dbCreate = "create-drop" // one of 'create', 'create-drop','update'
}

这样在Grails应用程序启动的时候会删除掉原来的数据库并重新建立,在production环境中通常需要修改该值。

今天生产出现了问题,问题原因竟是生产数据加了一个新的字段,理由是我们最近有些需求变更,新加了一个字段,在前台部署到QA 系统的时候,数据库连接到生产了,登录发现有问题,立马shutdow,后来在第二天的时候,客户用的时候,发现有些功用不了报错,今天下午投诉来的,找到原因是QA 系统有个新增的字段update 到生产了,导致不能用,后来删除了这个字段,系统终于可以用了,吓了一条。归根到底还是自己不小心,后来想想在数据源配置的时候dbCreate=update 了,今天对于这个字段的理解深刻透了。挺危险的,所以对于发布的时候要特别小心修改数据库的配置,否则很容易出现问题,今天血的教训,幸好解决了。


本文名称:Grails自动数据库移植
转载源于:http://ybzwz.com/article/ijecoc.html