我使用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/

10-12 12:49