Мне нужно предварительно заполнить базу данных mysql, которая является бэкэндом для приложения Grails. Это хорошо работает на местном уровне, и мне нужно перейти на облачный литейный завод.
Я использовал для предварительного заполнения базы данных MySQL локально, выполнив sql. Но теперь мне нужно предварительно заполнить базу данных mysql, которая является облачным литейным сервисом.
Это то, что я пытался. Я установил плагин миграции базы данных. Создан файл журнала изменений без каких-либо данных, чтобы он содержал только операторы DDL. Затем я вставил приведенный ниже код в конец файла журнала изменений.
changeSet(author: "home (generated)", id: "1330581560176-85") {
sqlFile( path: "config.sql")
}
Ниже приведена запись для конфигурации.
grails.plugin.databasemigration.updateOnStart = true
grails.plugin.databasemigration.updateOnStartFileNames = changelog.groovy
Мое приложение в облачном хранилище по-прежнему запускается с пустыми таблицами. Кто-нибудь может указать мне правильное направление.
UPDATE
Я был в состоянии сделать это. Я неправильно выполнял миграцию базы данных. После правильного прочтения http://blog.springsource.org/2011/08/17/countdown-to-grails-2-0-database-migrations/ я смог заставить это работать, поместив sqlFile () в файл changelog.groovy.