したがって、初心者のNHibernateユーザー。私の脳を包み込もうとしています。
デプロイを処理する方法と、後でWebアプリにアドオンを挿入する方法を検討しています(独自の永続性クラスが必要になる場合があります)。
デプロイメントに使用SchemaExport
することはかなりうまくいくと思っていましたが、NHibernateに、スキーマのエクスポートがすでに行われていることを一般的なコードベースの方法で教えてもらう方法があるかどうか疑問に思いました。基本的に、私はこの擬似コードのようにsmethingを実行したいと思います。
if(!_cfg.HasSchemaForType(typeof(MyType))
ExportSchema(typeof(MyType));
else
UpdateSchema(typeof(MyType));
ここで、2つの関数はそれぞれ内部でSchemaExport
またはSchemaUpdate
を使用します。
編集:みんな、私はこれまでのところ答えに感謝していますが、彼らは少しポイントを逃しています。私が設定しようとしているのは、データベースへの変更が必要になる可能性のあるアドオンの追加と削除をアプリケーションで許可する方法です。私は自分のコードなどのバージョン管理について話しているのではありません(少なくとも、その主要な機能としてではありません)。したがって、問題は、アプリをいつデプロイするかではなく、プラグインをいつ追加または削除するかについてです。theisプラグイン(したがって、擬似コードタイプチェック)は以前にデプロイされましたか?その場合は、更新を実行します。そうでない場合は、エクスポートを実行します。わかる?