Я хочу получить данные из уже существующей базы данных из другого проекта в проект Grails и перечислить данные. Должен ли я создавать контроллер домена для уже существующего db? Я знаю, как создать контроллер домена и использовать плагин для переноса данных, чтобы обновить db, но ни одна из прочитанных книг не имела никакой информации о том, как настроить и прочитать из существующей базы данных. Я использую MySQL для своей базы данных.Grails читается из существующей базы данных
ответ
Используйте перепроектируете плагин для создания классов домена из существующей базы данных: http://grails.org/plugin/db-reverse-engineer
Спасибо, Берт, это действительно поможет мне. Я оцениваю Grails для нашей Корпорации как возможную замену для PHP dev. Я использую вашу книгу Programming Grails для справки. Есть ли у вас другие книги, которые вы рекомендуете? Кроме того, невозможно ли получить доступ к данным из базы данных без класса домена, например, в php mysqli? – codeBarer
согласно моему пониманию, пожалуйста, сделайте следующее:
Предположим, у вас есть существующий DB «TestDB» с таблицей " domain_model "и имеет столбцы" column_a "," column_b "и" column_c ".
В Граале создать один домен класса и добавить следующее отображение блока:
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» и «version» в существующую таблицу, где автоматически указывается столбец «id», и вы можете иметь столбец «версия» как «1» для всех записей.
Спасибо. Дополнительный вопрос, может ли Grails прочитать xml в качестве источника данных? – codeBarer
@codeBarer Вы можете использовать xml в качестве источника данных в Grails, поместив xml-файл в grails-app/conf. Вы можете ссылаться на этот файл в BootStrap.groovy с помощью: class.getResource ("yourData.xml").
Защиту defaultDataFileStream = this.class.getResourceAsStream ("defaultData.xml") Защиту ALLDATA = новый XmlSlurper(). Синтаксический (defaultDataFileStream)
Попробуйте это в bootstrap.groovy. Вы поместите файл xml в grails-app/conf.
для создания классов домена вы можете использовать [Garg]: http://grag.sourceforge.net/index.html
Я пробовал использовать GARG, но поскольку схема, которую я хочу экспортировать, имеет более 800 таблиц. Программа выдает исключения и заканчивает работу до того, как она будет создана, создавая объекты –
Не считаете ли вы размещения существующая схема таблицы может помочь? –
Я еще не начал. Независимо от схемы, я пытаюсь получить доступ к одной таблице из другой базы данных. Скажите devDb.tblUsers – codeBarer
Что означает «существующая база данных из другого проекта»? Главный вопрос заключается в том, есть ли у вас классы домена для доступных для вас базовых таблиц или нет? – dmahapatro