2011-07-01 50 views
2

私のテーブルを削除するに保ちます。 (T1_ID INT NOT NULL AUTO_INCREMENT、A1 INT NULL、B1 VARCHAR(45)NULL、C1 VARCHAR(45)NULL、D1 DATETIME NULL、PRIMARY KEY(T1_ID)); Grailsので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() 
    } 
} 

私は私のプログラムを実行するたびに... Grailsのは、誰もが何が起こっているか知っている、DBに私のテーブルを削除しますか?

答えて

16

あなたは現在の値がおそらくあるgrails-app/conf/DataSource.groovy

で「更新」に「を作成・ドロップ」からのdbCreateの値を変更する必要があります。

development { 
    dataSource { 
     dbCreate = "create-drop" // one of 'create', 'create-drop','update' 
     url = "***" 
    } 
} 

これはGrailsの上のすべてのテーブルを再作成することを意味します再起動するたびに。これをupdateと設定すると、データモデルクラスに従ってテーブル構造を更新しようとします。

あなたは、それはいくつかのことかもしれないhttp://www.grails.org/doc/latest/guide/3.%20Configuration.html#3.3%20The%20DataSource

+0

ありがとうございます...これは問題だと思っています... =) – Kevin

0

でGrailsのDBの設定についての詳細を読むことができます。 @splixが述べたように、それは 'create-drop'の設定になる可能性があります。

また、データソースを変更していない場合、Grailsはメモリ内のデータベースを使用するため、プログラムが実行されている間のみ有効です。 hsqldbに、メモリにではなく、ファイルに永続するように指示できます。 mysqlのようなものを指すように変更することもできます。 Look hereをご覧ください。