Я хочу получить данные из уже существующей базы данных из другого проекта в свой проект Grails и перечислить данные. Должен ли я создавать контроллер домена для уже существующей базы данных? Я знаю, как создать контроллер домена и использовать плагин переноса данных для обновления базы данных, но ни в одной из книг, которые я читал, не было информации о том, как настроить и читать из существующей базы данных. Я использую MySQL для своей базы данных.
Grails читает из существующей БД
Ответы (5)
Используйте подключаемый модуль Reverse Engineer для создания классов предметной области из существующей базы данных: https://plugins.grails.org/plugin/grails/db-reverse-engineer
Насколько я понимаю, сделайте следующее:
Предположим, у вас есть существующая БД «TestDB» с таблицей «domain_model» и столбцами «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 значение «обновление».
dbCreate="обновить"
Надеюсь это поможет !
Кроме того, обязательно добавьте столбцы «id» и «версия» в существующую таблицу, где столбец «id» автоматически увеличивается, и вы можете иметь столбец «версия» как «1» для всех записей.
def defaultDataFileStream = this.class.getResourceAsStream("defaultData.xml")
def allData = new XmlSlurper().parse(defaultDataFileStream)
Попробуйте это в bootstrap.groovy
. Вы поместите файл xml в grails-app/conf
.
@codeBarer Вы можете использовать xml в качестве источника данных в Grails, поместив файл xml в grails-app/conf
. Вы можете сослаться на этот файл в BootStrap.groovy
с помощью:
class.getResource("yourData.xml")
для создания классов предметной области вы можете использовать [GARG]:http://grag.sourceforge.net/index.html< /а>