Grails 不断删除我的表
Posted
技术标签:
【中文标题】Grails 不断删除我的表【英文标题】:Grails keep deleting my tables 【发布时间】:2011-07-01 13:34:26 【问题描述】:我的表结构如下:
创建表 test_two_tabel
.T1
( T1_ID
INT NOT NULL AUTO_INCREMENT , A1
INT NULL , B1
VARCHAR(45) NULL , C1
VARCHAR(45) NULL , @987654327 , 主键 (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()
每次我执行我的程序... Grails 都会删除我在数据库中的表,有人知道发生了什么吗?
【问题讨论】:
【参考方案1】:您需要在grails-app/conf/DataSource.groovy
将 dbCreate 的值从“create-drop”更改为“update”
你当前的值大概是:
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 阅读有关 Grails DB 配置的更多信息
【讨论】:
谢谢...我认为这是问题... =)【参考方案2】:这可能是一些事情。正如@splix 提到的,它可能是“create-drop”设置。
此外,如果您从未更改过数据源,Grails 会使用内存数据库,因此它只会在程序运行期间持续存在。您可以告诉 hsqldb 持久保存到文件而不是内存中。您也可以将其更改为指向 mysql 之类的内容。看here。
【讨论】:
以上是关于Grails 不断删除我的表的主要内容,如果未能解决你的问题,请参考以下文章