2

スキーマが存在しない場合は、自動的に作成したいのですが。現在、私はこのコードを使用してスキーマを作成しています。

new SchemaExport(_configuration)
           .SetDelimiter(";").SetOutputFile("schema.sql").Create(true, true);

しかし、私には2つの問題があります。

1)動作するには、空のスキーマが必要です。一度だけ使用するために管理者の資格情報を与える場合は、それ自体に空のスキーマとユーザーを作成したいと思います。

2)スキーマが空であるか、廃止されている場合にのみスキーマを作成したい。そのためにnhibernateチェックを行うことは可能ですか?もちろん、廃止されたスキーマの場合、スキーマを再生成してデータを失うかどうかをユーザーに尋ねる方法が必要です。

私はMySql5を使用していますが、具体的なデータベースプロバイダーにバインドせずにこれを実現できることを願っています。

更新:ユーザーはMySqlをインストールし、インストール中にいくつかの管理者クレデンシャルを入力する必要があります。その後、彼は私のアプリケーションを実行できます。ユーザーに管理者のクレデンシャルを要求することで、独自のスキーマ、ユーザーを作成し、権限を割り当てる必要があります。

4

1 に答える 1

2

私はここで非常によく似た質問に答えました。

データベースが空であるかどうかを自分で確認し、必要に応じて作成する必要があります。スキーマが実際のマッピング定義に対応しているかどうかを確認するValidateSchemaメソッドもあります。他のすべてはあなた自身のコードです。

ユーザーと権限は、マッピングファイルにDatabaseObjectsとしてインストールすることもできます。

于 2012-09-07T09:02:38.863 に答える