MitratorDotNet (Migrator.Net) - 我可以只使用裸 SQL 上/下迁移文件吗?
Posted
技术标签:
【中文标题】MitratorDotNet (Migrator.Net) - 我可以只使用裸 SQL 上/下迁移文件吗?【英文标题】:MitratorDotNet (Migrator.Net) - Can I use with just bare SQL up/down migration files? 【发布时间】:2010-03-02 03:14:53 【问题描述】:我可以使用 migrator.net 裸迁移框架,并且只需一组 SQL 文件来进行升级/降级吗?即只使用框架来检查数据库版本和运行哪些脚本等?
谢谢
【问题讨论】:
【参考方案1】:是的。我混合了 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”,并在文件属性窗格中设置为“嵌入式资源”。
【讨论】:
你对这些脚本做了什么?你能提供一个小例子吗?谢谢 脚本包含 sql 语句,可以为所欲为。 Down 脚本应该撤消 up 脚本所做的任何事情。我使用 SqlPubWiz 和预先存在的数据库创建了我的,如我在此处的回答:***.com/questions/2321052/… 然后将生成的脚本分成 things-which-create-things 和 things-which-destroy-things,并将它们用作上下脚本分别。以上是关于MitratorDotNet (Migrator.Net) - 我可以只使用裸 SQL 上/下迁移文件吗?的主要内容,如果未能解决你的问题,请参考以下文章