我想从现有数据库中将数据从另一个项目提取到我的Grails项目中并列出数据。我应该为现有的数据库创建域控制器吗?我知道如何创建域控制器并使用数据迁移插件来更新数据库,但我读过的书中没有任何关于如何设置和读取现有数据库的信息。我正在使用MySQL作为我的数据库。
答案 0 :(得分:3)
使用反向工程师插件从现有数据库创建域类:http://grails.org/plugin/db-reverse-engineer
答案 1 :(得分:3)
根据我的理解,请执行以下操作:
假设您有一个带有“domain_model”表的现有数据库“TestDB”,它有“column_a”,“column_b”和“column_c”列。
在Grail中,创建一个域类并在映射块中添加以下内容:
static mapping = {
table "domain_model"
version false
id column: "primary_key_column"
columnA column: "column_a"
columnB column: "column_b"
columnC column: "column_c"
}
String id
String columnA
Date columnB
Integer columnC
并在DataSource.groovy中,将dbCreate属性设置为“update”。
dbCreate的= “更新”
希望这有帮助!
此外,请确保将“id”和“version”列添加到现有表中,其中“id”列是自动增量的,并且您可以将“version”列作为“1”添加到所有记录中。
答案 2 :(得分:1)
@codeBarer通过将xml文件放在grails-app / conf中,您可以将xml用作Grails中的数据源。您可以在BootStrap.groovy中引用此文件: class.getResource( “yourData.xml”)。
答案 3 :(得分:1)
def defaultDataFileStream = this.class.getResourceAsStream(“defaultData.xml”) def allData = new XmlSlurper()。parse(defaultDataFileStream)
在bootstrap.groovy中试试这个。您将把xml文件放在grails-app / conf。
中答案 4 :(得分:0)
用于创建域类,您可以使用[GARG]:http://grag.sourceforge.net/index.html