Grails继续删除我的表格

Kev*_*vin 2 database grails

我的表结构如下:

创建表test_two_tabel.T1( T1_IDINT NOT NULL AUTO_INCREMENT, A1INT NULL, B1VARCHAR(45)NULL, C1VARCHAR(45)NULL, D1DATETIME NULL,PRIMARY KEY(T1_ID));

在Grails中:

package twotables

class T1 {

    Integer a
    String b
    String c
    Date d

    static mapping = {
        table "T1"
        version false
        id column:"T1_ID"
        a1 column:"a1"
        b1 column:"b1"
        c1 column:"c1"
        d1 column:"d1"
    }

    static constraints = {
        id()
        a1()
        b1()
        c1()
        d1()
    }
}
Run Code Online (Sandbox Code Playgroud)

每次我执行我的程序...... Grails删除数据库中的表,有谁知道发生了什么?

Igo*_*nov 17

您需要将dbCreate的值从"create-drop"更改为"update"at grails-app/conf/DataSource.groovy

你当前的价值可能是:

development {
    dataSource {
        dbCreate = "create-drop" // one of 'create', 'create-drop','update'
        url = "***"
    }
}
Run Code Online (Sandbox Code Playgroud)

这意味着Grails将在每次重启时重新创建所有表.如果您将设置它,update因为它将尝试根据您的数据模型类更新表结构.

你可以阅读更多关于Grails的DB配置http://www.grails.org/doc/latest/guide/3.%20Configuration.html#3.3%20The%20DataSource