0

Я хочу получить данные из уже существующей базы данных из другого проекта в проект Grails и перечислить данные. Должен ли я создавать контроллер домена для уже существующего db? Я знаю, как создать контроллер домена и использовать плагин для переноса данных, чтобы обновить db, но ни одна из прочитанных книг не имела никакой информации о том, как настроить и прочитать из существующей базы данных. Я использую MySQL для своей базы данных.Grails читается из существующей базы данных

+1

Не считаете ли вы размещения существующая схема таблицы может помочь? –

+0

Я еще не начал. Независимо от схемы, я пытаюсь получить доступ к одной таблице из другой базы данных. Скажите devDb.tblUsers – codeBarer

+0

Что означает «существующая база данных из другого проекта»? Главный вопрос заключается в том, есть ли у вас классы домена для доступных для вас базовых таблиц или нет? – dmahapatro

ответ

2

Используйте перепроектируете плагин для создания классов домена из существующей базы данных: http://grails.org/plugin/db-reverse-engineer

+0

Спасибо, Берт, это действительно поможет мне. Я оцениваю Grails для нашей Корпорации как возможную замену для PHP dev. Я использую вашу книгу Programming Grails для справки. Есть ли у вас другие книги, которые вы рекомендуете? Кроме того, невозможно ли получить доступ к данным из базы данных без класса домена, например, в php mysqli? – codeBarer

3

согласно моему пониманию, пожалуйста, сделайте следующее:

Предположим, у вас есть существующий 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» для всех записей.

+0

Спасибо. Дополнительный вопрос, может ли Grails прочитать xml в качестве источника данных? – codeBarer

1

@codeBarer Вы можете использовать xml в качестве источника данных в Grails, поместив xml-файл в grails-app/conf. Вы можете ссылаться на этот файл в BootStrap.groovy с помощью: class.getResource ("yourData.xml").

1

Защиту defaultDataFileStream = this.class.getResourceAsStream ("defaultData.xml") Защиту ALLDATA = новый XmlSlurper(). Синтаксический (defaultDataFileStream)

Попробуйте это в bootstrap.groovy. Вы поместите файл xml в grails-app/conf.

0

для создания классов домена вы можете использовать [Garg]: http://grag.sourceforge.net/index.html

+0

Я пробовал использовать GARG, но поскольку схема, которую я хочу экспортировать, имеет более 800 таблиц. Программа выдает исключения и заканчивает работу до того, как она будет создана, создавая объекты –