【问题标题】:How to change a not nullable column to nullable in a Grails migration?如何在 Grails 迁移中将不可为空的列更改为可为空?
【发布时间】:2013-09-10 02:51:34
【问题描述】:

我需要使用 grails 迁移插件将当前不可为空的列更改为可空。 dbm-gorm-diff 命令抛出异常,所以我应该将什么 changeSet 写入更改日志。

【问题讨论】:

    标签: grails database-migration


    【解决方案1】:

    我可以只使用 modifyDataType changeSet 来实现所需的结果,但如果有任何其他特定的方法同样非常受欢迎

    【讨论】:

      【解决方案2】:
      class Student
      {
      String Name
      String LName
      String MName
      
      static constraints={
      
      Name(nullablel:false,required:true)
      Lname(nullable:false,required:true)
      Mname(nullable:true,required:false)   
      }
      
      }
      

      // 默认情况下,如果您不指定可为空的 const,它将始终可以为空,但假设我们将为此生成迁移脚本

      //在您的脚本中,让我们说将 Mname 更改为可为空

      databaseChangeLog = {
      
          changeSet(author: "developerName (generated)", id: "1369639981631-1") {
      dropNotNullConstraint(columnDataType: "varchar(255)", columnName: "Mname", tableName: "student") 
       } 
           }
      

      【讨论】:

        猜你喜欢
        • 2011-08-23
        • 2020-11-11
        • 2014-08-16
        • 1970-01-01
        • 2011-09-26
        • 2012-12-10
        • 2011-04-03
        • 2023-03-19
        • 2016-01-07
        相关资源
        最近更新 更多