5

一般的なアドバイスは、データベースの移行を常にテストする必要があるということですが、その方法はよく秘密にされているようです ;)

私が選んだフレームワークは FluentMigration です。

私がやりたいと思うことは次のとおりです。

  1. データベースを N-1 に移行します。
  2. 一部のデータを保存します。
  3. データベースを N に移行します。
  4. データを読み取り、失われていないことを確認します。
  5. その他の関連する変更を確認する

しかし、単体テストから移行を実行する方法がわかりません。

4

1 に答える 1

2

統合テストで移行を開始するには、Process.Start を使用して migrate.exe コマンドにシェルアウトします。

例えば

var migrator = System.Diagnostics.Process.Start("migrator.exe", "/connection \"Data Source=db\\db.sqlite;Version=3;\" /db sqlite /target your.migrations.dll");
migrator.WaitForExit();

MSTest を使用している場合は、migrator.exe が展開項目として含まれていることを確認するか、プロセスの開始時に .exe が存在する場所へのパスを指定する必要があります。

于 2011-09-02T03:58:37.063 に答える