如何使用 Migrator.NET 迁移到特定版本

发布于 2024-10-04 13:37:35 字数 267 浏览 5 评论 0原文

有没有办法使用 Migrator.NET 回滚到特定版本?

我正在使用 MSBuild 在 SQL Server 2005 数据库上运行迁移;

“C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe” /目标:更新数据库 /属性:MigrationConnectionString =“连接字符串” “D:\Projects\My.Migrations.csproj”

Is there any way to rollback to a specific version using Migrator.NET?

I'm running migrations on a SQL Server 2005 database using MSBuild;

"C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe"
/target:UpdateDb
/property:MigrationConnectionString="ConnectionString"
"D:\Projects\My.Migrations.csproj"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十六岁半 2024-10-11 13:37:35

我发现我的目标部分(在 My.Migrations.csproj 中)具有名为“To”的属性。

  <Target Name="UpdateDb">
    <CreateProperty Condition="'$(To)'==''" value="-1">
      <Output PropertyName="To" TaskParameter="Value">
      </Output>
    </CreateProperty>
    <Migrate Provider="SqlServer" Connectionstring="$(MigrationConnectionString)" Migrations="$(OutputPath)$(AssemblyName).dll" To="$(To)" />
  </Target>

因此,只需将 /p:To=5 (其中 5 是 SchemaInfo 中找到的版本号)添加到问题中提到的 MSBuild 运行中,我就能够回滚我的数据库。希望这对某人有帮助。

I found my target section (in My.Migrations.csproj) having a property named "To".

  <Target Name="UpdateDb">
    <CreateProperty Condition="'$(To)'==''" value="-1">
      <Output PropertyName="To" TaskParameter="Value">
      </Output>
    </CreateProperty>
    <Migrate Provider="SqlServer" Connectionstring="$(MigrationConnectionString)" Migrations="$(OutputPath)$(AssemblyName).dll" To="$(To)" />
  </Target>

So just by adding /p:To=5 (where 5 is the version number found in SchemaInfo) to the MSBuild run mentioned in the question, I was able to rollback my DB. Hope this helps someone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文