0

アプリでデータベース移行プラグインを使用していますが、DBスキーマに依存する他のプラグインを使用すると問題が発生します。

新しくインストールしたプラグイン(分類法プラグインなど)を使用する準備として、移行プラグインを使用してDBをセットアップ/リファクタリングしたいと思います。問題は、移行プラグインが他のプラグインの後に読み込まれるため、移行を実行する前にアプリケーションが失敗することです(スキーマの依存関係は適用されません)。DB移行を他のプラグインの前に実行するのは合理的だと思います(99%の場合)。正しい?

(「defloadBefore」を使用して移行プラグインをカスタマイズせずに)移行プラグインを最初に強制的にロードする方法はありますか?

ありがとう

4

1 に答える 1

1

残念ながら、プラグインのdependsOnおよびloadAfterプロパティは、プラグイン開発者によって設定されています。

ただし、新しい環境を作成し、次の設定プロパティ grails.plugin.excludesを使用して多数のプラグインを除外することができます。

基本的に、データベースの移行に使用する grails 環境を定義します。この環境のデータソースを定義し、Config.groovy で次のようにします。

environments {
  prodMig {
    grails.plugin.excludes = 'interferingPlugin1,interferingPlugin2'
  }
}

これにより、prodMig 環境からプラグイン interfering-plugin1 および interfering-plugin2 が除外されます。

次に、次のようにデータベース移行コマンドを実行できます。

grails -Dgrails.env=prodMig dbm-update
于 2012-04-11T13:50:45.547 に答える