我使用grails-1.3.2和gorm-hbase-0.2.4插件。
有时我需要更改表结构(添加新表或列)。
我已经创建了Car表:
class Car{
static belongsTo = [user:User]
String color
String model
//.....
static constraints = {
}
}
但是当我想创建汽车对象时:
def create = {
Car car = new Car()
car.properties = params
car.save(flush: true)
}
我得到以下异常:
ERROR gorm.SavePersistentMethod - APP_CAR
org.apache.hadoop.hbase.TableNotFoundException: APP_CAR
在我使用create-drop运行应用程序之后,一切都开始正常工作。
但我无法在每次更改后删除所有数据,
我以为插件必须做所有更新
因此,我在changind表结构继续运行应用程序而没有放置表之后寻找某种方式。
如果有人知道解决方案,请帮忙。
最佳答案
Grails不会自动更新您的表,如果它会自动删除生产中的列怎么办?也许那不是您想要的。
有一个数据库迁移插件可以做到这一点,这是一个很好的link来解释的。请注意,您需要使用grails 和prod ,而不是直接在链接中使用它们,否则它将仅在开发模式下运行。该链接在其命令中未显示prod。
官方链接为here,与此有关的spring源博客为here。
关于grails - hbase-如何在不删除表的情况下更改表结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7280011/