2016-04-05 3 views
2

У меня есть плагин, используемый различными проектами, и я узнал, что мне нужно внести изменения в один класс домена. Как убедиться, что схема правильно обновлена ​​в проектах, зависящих от моего плагина?Grails: Как внести изменения в класс домена плагинов, если изменение влияет на схему таблицы домена?

Update:

Я меняю maxSize ограничение одного String поля от 255 до 8000.

+1

Задайте свои проекты DataSource 'dbCreate', чтобы« обновить »или использовать миграции баз данных. –

+2

Если другие проекты уже поместили данные в класс домена, вам нужно написать сценарий миграции. :-(ppl hate mig scripts. :-) – dsharew

+0

Все зависит от того, что вы изменяете в объекте домена. Например, если вы добавляете новый атрибут, который не является «nullalbe», установка DataSource для «обновления» не поможет. Что вы меняете в объекте домена? – Armaiti

ответ

3

Как я могу убедиться, что схема правильно обновляется в проектах , которые зависят от моей плагин?

Вы действительно не можете, по крайней мере, не таким образом, который обычно применим. В общем случае плагин не должен предполагать, что приложение генерирует или модифицирует схему. Вы должны задокументировать изменение как часть заметок обновления плагина.

+0

Ok Jeff, немного сложно ожидать, что пользователи плагинов будут фактически создавать и запускать сценарии миграции. –

+1

«немного сложно ожидать, что пользователи плагинов будут фактически создавать и запускать сценарии миграции». Большинство разработчиков не имеют своего приложения, настроенного для генерации DDL. Так или иначе база данных должна поддерживаться в синхронизации с ожиданиями приложений. У вас действительно нет выбора, кроме как информировать пользователей. Если вы говорите, что ваш плагин доступен только для пользователей, использующих плагин миграции, вы ограничиваете свою аудиторию. –

 Смежные вопросы

  • Нет связанных вопросов^_^