私はさまざまなプロジェクトで使用されているプラグインを持っており、私は1つのドメインクラスに変更を加える必要があることを知りました。プラグインに依存するプロジェクトでスキーマが正しく更新されることを確認するにはどうすればよいですか?Grails:変更がドメインのテーブルのスキーマに影響を与える場合、プラグインドメインクラスを変更するにはどうすればよいですか?
更新:
私はどのように私は、スキーマが適切に私に依存プロジェクト に更新されていることを確認してください255から8000
私はさまざまなプロジェクトで使用されているプラグインを持っており、私は1つのドメインクラスに変更を加える必要があることを知りました。プラグインに依存するプロジェクトでスキーマが正しく更新されることを確認するにはどうすればよいですか?Grails:変更がドメインのテーブルのスキーマに影響を与える場合、プラグインドメインクラスを変更するにはどうすればよいですか?
更新:
私はどのように私は、スキーマが適切に私に依存プロジェクト に更新されていることを確認してください255から8000
に1つの
String
フィールドのmaxSize
制約を変更していますプラグイン?
実際には、少なくとも一般的には適用できない方法ではありません。一般に、プラグインは、アプリケーションがスキーマを生成または変更していると仮定すべきではありません。プラグインのアップグレードノートの一部として変更を記録する必要があります。
Ok Jeff、プラグインユーザーが実際に移行スクリプトを作成して実行するとは思えません。 –
"プラグインユーザーが実際に移行スクリプトを作成して実行するのは少し難しいです" - ほとんどの開発者はDDLを生成するようにアプリケーションを設定していません。データベースは、アプリケーションの期待と同期させる必要があります。あなたは本当に選択肢を持っているのではなく、ユーザーに知らせる必要があります。あなたのプラグインがmigrationsプラグインを使用している人だけが使用できると言うなら、あなたは聴衆を制限しています。 –
プロジェクトのデータソース 'dbCreate'を'更新 'するか、データベースの移行を使用します。 –
他のプロジェクトが既にドメインクラスにデータを置いている場合は、移行スクリプトを作成する必要があります。 :-(ppl嫌いなmigスクリプト:-) – dsharew
これはすべてあなたがドメインオブジェクトで何を変更しているかによって異なります。たとえば、 'nullalbe 'でない新しい属性を追加する場合、DataSourceを' update'に設定することは役に立ちません。ドメインオブジェクトで何が変わっていますか? – Armaiti