服务器重启后,将继续创建已删除的字段

时间:2018-02-16 10:50:59

标签: hibernate grails

我有一个Grails应用程序(Grails 2.4.4),我使用MySQL作为数据库。 当我重新启动服务器(在生产中)时,它会在两个不同的表中创建2列。这些列在域类中不再存在。 当我处于开发模式或在tomcat服务器(Tomcat 8)中部署war文件时,只有在我重启服务器机器时才会发生这种情况。

我的DataSource.groovy看起来像这样:

dataSource {
    pooled = true
    dbCreate = "update"
    driverClassName = "com.mysql.jdbc.Driver"
    username = "root"
    password = "root"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}

1 个答案:

答案 0 :(得分:1)

我不确定为什么它不一致,但是dbCreate = "update"会将Hibernate配置为尝试将数据库与域类同步。最好的办法是将其更改为dbCreate = "none"并使用数据库迁移,这样您就可以完全控制数据库结构中的更改。