2009-05-15 7 views

答えて

13

私が移行クラスのインスタンスをインスタンス化し、その後、あなたは私がなぜ表示されないMigrateToLastVersion()またはMigrateTo(long versionnr)

Migrator.Migrator m = new Migrator.Migrator ("SqlServer", connectionString, migrationsAssembly) 

m.MigrateToLastVersion(); 
+0

が、私はそれを得ることはありません... は、私はクラス-PROJEKTを作り、すべてをしましたチュートリアルのように。 その後、新しいWebプロジェクトを作成し、migration.dllとコンパイルされたアセンブリを含めました。 次に、ソースコードを追加しましたが、正しい移行アセンブリはどこにありますか?私の名前空間 "DBMigration"しか見つかりませんが、 "DBMigrationは名前空間ですが型として使用されています"というエラーメッセージが表示されます。手伝って頂けますか? – Lichtamberg

+0

解決済み... System.Reflection.Assembly.Load(...) – Lichtamberg

+0

これは実際にどのように行うべきかです。 :)マイグレーションを含むアセンブリファイルをAssemblyインスタンスにロードし、Migratorクラスに渡します。 :) –

1

状部材のメソッドを呼び出すことができます。

NAntのタスクhttp://code.google.com/p/migratordotnet/source/browse/trunk/src/Migrator.NAnt/MigrateTask.cs

関連ビットを見てください現在地:申し訳ありません

private void Execute(Assembly asm) 
    { 
     Migrator mig = new Migrator(Provider, ConnectionString, asm, Trace, new TaskLogger(this)); 
     mig.DryRun = DryRun; 
     if (ScriptChanges) 
     { 
      using (StreamWriter writer = new StreamWriter(ScriptFile)) 
      { 
       mig.Logger = new SqlScriptFileLogger(mig.Logger, writer); 
       RunMigration(mig); 
      } 
     } 
     else 
     { 
      RunMigration(mig); 
     } 
    } 

    private void RunMigration(Migrator mig) 
    { 
     if (mig.DryRun) 
      mig.Logger.Log("********** Dry run! Not actually applying changes. **********"); 

     if (_to == -1) 
      mig.MigrateToLastVersion(); 
     else 
      mig.MigrateTo(_to); 
    } 
関連する問題