3
我可以使用migrator.net裸遷移框架,只需要一組SQL文件來執行升級/降級?即只是使用框架來檢查數據庫版本和運行哪些腳本等?MitratorDotNet(Migrator.Net) - 我可以只使用裸露的SQL上/下遷移文件嗎?
謝謝
我可以使用migrator.net裸遷移框架,只需要一組SQL文件來執行升級/降級?即只是使用框架來檢查數據庫版本和運行哪些腳本等?MitratorDotNet(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);
}
}
}
在那裏我有兩個文件「createbaredb.sql」和「dropbaredb.sql」在一個目錄(SqlScripts),並設置爲「嵌入的資源」在文件屬性窗格。
你在這些腳本上做了什麼?你能提供一個小例子嗎?謝謝 – emzero 2010-04-27 18:04:09
腳本包含sql語句,可以做你喜歡的任何事情。 Down腳本應該撤消上行腳本的任何操作。我使用SqlPubWiz和一個預先存在的數據庫創建了我的數據庫,如我在這裏的答案:http://stackoverflow.com/questions/52/get-script-of-sql-server-data/2501702#2501702,然後將生成的腳本分離事物 - 創造事物和事物 - 破壞事物,並分別用它們作爲上下腳本。 – Greg 2010-04-28 09:13:14