migrator.net ベア マイグレーション フレームワークを使用して、アップグレード/ダウングレードを行うための SQL ファイルのセットだけを使用できますか? つまり、フレームワークを使用してデータベースのバージョンや実行するスクリプトなどを確認するだけですか?
ありがとう
migrator.net ベア マイグレーション フレームワークを使用して、アップグレード/ダウングレードを行うための SQL ファイルのセットだけを使用できますか? つまり、フレームワークを使用してデータベースのバージョンや実行するスクリプトなどを確認するだけですか?
ありがとう
はい。SQL とコードの移行が混在しています。SQLファイルを使用する私の移行は次のようになります:
using System.Data;
using Migrator.Framework;
using System.IO;
using System.Reflection;
namespace MyDBMigration
{
[Migration(2)]
public class CreateStructures_002 : Migration
{
public override void Up()
{
Assembly asm = Assembly.GetAssembly(typeof(CreateStructures_002));
Stream s = asm.GetManifestResourceStream("MyDBMigration.SqlScripts.createbaredb.sql");
StreamReader sr = new StreamReader(s);
string sql = sr.ReadToEnd();
Database.ExecuteNonQuery(sql);
}
public override void Down()
{
Assembly asm = Assembly.GetAssembly(typeof(CreateStructures_002));
Stream s = asm.GetManifestResourceStream("MyDBMigration.SqlScripts.dropbaredb.sql");
StreamReader sr = new StreamReader(s);
string sql = sr.ReadToEnd();
Database.ExecuteNonQuery(sql);
}
}
}
ディレクトリ(SqlScripts)に「createbaredb.sql」と「dropbaredb.sql」の2つのファイルがあり、ファイルプロパティペインで「埋め込みリソース」として設定されています。