c# - 如何使用 FluentMigration 在预览 sql 脚本中添加开始事务和回滚事务?
问题描述
我正在为我的 .Net 项目使用 FluentMigrator,并且我想创建一个 sql 脚本来在调用 dotnet fm migrate 命令时预览我的修改。
不幸的是,我们在生成的预览脚本中没有“开始事务”和“回滚事务”。几个月前,我们曾经根据我们的旧文件在脚本中包含这些命令。
如果我错过了命令行中的某些内容,您能告诉我吗?
在此先感谢,干杯,亚历克斯
dotnet fm migrate -p sqlserver2012 -a "mydll.dll" -c "Data Source=mydatasource" -o="Migrations/MigrationScript.sql" -V --preview
解决方案
开始交易的一种方法是:
internal static void MigrateUp()
{
var serviceProvider = CreateServices();
// Put the database update into a scope to ensure
// that all resources will be disposed.
using (var scope = serviceProvider.CreateScope())
{
// Instantiate the runner
var runner = serviceProvider.GetRequiredService<IMigrationRunner>();
using(var runnerScope = runner.BeginScope())
{
try
{
runner.MigrateUp();
runnerScope.Complete();
}
catch(Exception ex)
{
runnerScope.Cancel();
}
}
}
}
推荐阅读
- javascript - Show login modal on unauthorized response angular 7
- sql - 从连接表中获取列作为行而不是相邻列
- javascript - How to resolve could not decode a text frame as UTF 8 though boost websocket
- python - Python - For loop - run each line of output
- python-3.x - Auto select value from dropdown list when editing existing value - flask pusher
- android - 如何找到我的 URL 以连接到 Firebase?
- python - 如何附加到列表列表中的列表?
- swift - Passing JSON as a parameter swift
- node.js - CSS 文件未通过 <% include file.ejs %> 链接
- typescript - firebase cloud function is not being executed on onCreate event for firebase real time database