更新grails中的域类

时间:2014-06-18 13:20:21

标签: sql-server grails gorm

我想向域类添加新字段,以便更新生成的表的属性集。我有这样的域类,

Class Book {
String name
  static constraints = {
   name nullable:false
  }

 String toString() {
        return name
 }
}

生成的GORM包括名称以及ID和版本。现在我想将ISBN添加到Book域类,如下所示

 Class Book {
    String name
    String ISBN
      static constraints = {
       name nullable:false
       ISBN nullable:true
      }

     String toString() {
            return name
     }
    }

我不想在create-drop中使用DataSource.groovy,因为它会删除我以前的所有数据。我的DataSource.groovy看起来像这样,

 dataSource {
         dbCreate = "update"
         url = "jdbc:jtds:sqlserver://localhost:1433/databaseName"
         username = "username"
         password = "password"
  }

我希望GORM将ISBN字段添加到book表中。但它没有发生。我哪里错了?

我正在使用sql server 2008和grails版本2.1.1

2 个答案:

答案 0 :(得分:3)

dataSource {
     dbCreate = "update"
}

应该做的伎俩。它会在不删除表的情况下更新数据库

答案 1 :(得分:2)

你需要手动在sql server中创建这个字段,因为它的所有工具都是sqlserver中的一个简单任务,你应该看看grails database migration plugin文档。它应该已经安装在您的grails版本