Для моих тестов интеграции я загружаю базу данных «seed» в bootstrap.groovy. Я также вручную загружаю различные базы данных время от времени во время разработки, чтобы опробовать различные сценарии.Как запустить миграцию базы данных Grails после запуска
Проблема заключается в том, что плагин миграции базы данных (большое спасибо Берт!), Похоже, работает во время запуска, прежде чем попасть в код начальной загрузки, и я не вижу нигде, я могу запустить его снова.
Это означает, что если я загружаю db, который является «устаревшим», тогда я должен закрыть приложение и перезагрузить его, чтобы выполнить миграцию. Тогда я должен помнить, чтобы сделать снимок «новой» базы данных, поэтому мне не нужно делать это снова в следующий раз.
Все это действительно влияет на производительность, особенно при использовании нескольких рефакторингов.
Есть ли лучшие способы сделать это? В идеале я бы хотел использовать метод класса «runMigrations()» или что-то еще. Затем я мог бы назвать это после моих загрузочных инструментов или из моего кода начальной загрузки.
Любые идеи?
Миграции не предназначены для запуска после запуска. Они предназначены для запуска перед запуском по причине необходимости правильной схемы перед запуском приложения. Для этого вам понадобится другой инструмент. –