プロジェクトで NHibernate 2 と PostgreSQL を使用しています。SchemaExport クラスは、データベースの DDL スキームを生成する優れた仕事をしますが、最初のアプリケーションまでは優れています。
NHibernate マッピング ファイルを使用して "移行" DLL (DROP/CREATE ペアの代わりに "ALTER TABLE" のバッチ) を生成する方法はありますか?
プロジェクトで NHibernate 2 と PostgreSQL を使用しています。SchemaExport クラスは、データベースの DDL スキームを生成する優れた仕事をしますが、最初のアプリケーションまでは優れています。
NHibernate マッピング ファイルを使用して "移行" DLL (DROP/CREATE ペアの代わりに "ALTER TABLE" のバッチ) を生成する方法はありますか?
SchemaUpdateを調べてください。SchemaExportと非常によく似たAPIですが、移行を作成するだけです。
SchemaUpdateは私のニーズに非常に応えますが、それでもいくつかの問題があります。たとえば、既存のデータと競合しない場合でも、既存のデータベース列に新しい制限を設定することを拒否します。
SchemaUpdateを少し拡張するか、失敗した場合は、その手動移行ツールの1つ(たとえば、Rails 1)に切り替えます。