【问题标题】:Grails db-migration table already existsGrails db-migration 表已经存在
【发布时间】:2012-04-05 17:53:47
【问题描述】:

我正在使用 Grails 1.3.7 和 db-migration 插件。

我已经生成了一个包含我的 delta 的 chagelog.groovy 文件,我设置了这些属性:

grails.plugin.databasemigration.updateOnStart = true
grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy‘]

现在在我的 Datasource.groovy 中有要更新的 dbCreate。

我启动我的应用程序,它告诉我增量中的表已经创建。

对此有何想法?

【问题讨论】:

    标签: grails grails-plugin grails-domain-class liquibase


    【解决方案1】:

    您无需在DataSource.groovy 中设置任何dbCreate 选项。

    如果您正确指定了增量,迁移插件会管理所有必要的操作。

    DataSource.groovy 的示例部分:

    production {
       dataSource {
          dbCreate = ""
          url = "yourDBUrl"
          username = "yourUser"
          password = "yourPassword"
       }
    } 
    

    【讨论】:

    • 你的意思是这样就足够了:grails.plugin.databasemigration.updateOnStart = true
    • 不 - 你必须编辑你的DataSource.groovy,如上所示(我更新了我的答案)
    • 您可能还希望将现有数据库标记为已同步,这样它就不会尝试应用已经存在的变更集。
    • 设置dbCreate = "validate" 以确保应用程序不会尝试针对架构不正确的数据库运行是否更安全?
    猜你喜欢
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2021-10-04
    • 2022-01-14
    • 2016-06-12
    • 2012-08-07
    • 2013-05-10
    相关资源
    最近更新 更多