我可以使用 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”,并在文件属性窗格中设置为“嵌入式资源”。