问题标签 [migratordotnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
301 浏览

.net - 您如何判断您的迁移是否与 migratordotnet 保持同步?

我正在使用migratordotnet来管理我的数据库迁移。我在这样的应用程序设置上运行它们,但我还想在应用程序启动时检查迁移是否是最新的,并提供迁移到最新的选项。如何判断是否有可用的迁移需要应用?我看到我可以得到像这样应用的迁移

我喜欢做这样的事情:

0 投票
4 回答
1782 浏览

.net - Fluent NHibernate 和 migratordotnet 可以很好地配合使用吗?

我喜欢 Fluent NHibernate 来构建我的数据库,并且到目前为止还没有发现任何阻碍我前进的限制。

然而,在我目前的项目中,我希望在产品生命周期的早期发布到生产环境,因此预计随着我们的进展,db 模式会有许多小的变化。

我想使用migratordotnet之类的工具在“迁移”中跟踪这些 DDL 和 DML 更改。但我的问题是:是否有可能让这两个工具(或类似工具)一起工作?

本着 DRY 的精神,我如何从 Fluent Nhibernate 中的映射中导出架构更改?这可能吗?

或者是将模式生成留给诸如 migratordotnet 之类的工具并让 Fluent NHibernate 只负责映射的更好方法?嗯,这似乎是在工具级别更好地分离关注点。

干杯!

0 投票
2 回答
522 浏览

data-migration - Migrator.net 在 Up() 中删除表,在 Down() 中做什么?

我在我的项目中实现了Migrator.net,并且我正在从当前模式中删除一个表。我的Up()简单包含Database.RemoveTable("FooTable"). 但现在我有点不知所措,我应该为我的Down(). 我是否需要手动解析所有过去的迁移以进行修改FooTable?有没有办法在 FooTable 上运行所有以前的迁移Down()

0 投票
5 回答
44690 浏览

c# - 两个不同的程序集版本“定位程序集的清单定义与程序集引用不匹配”

我有一个正在处理的项目,需要使用 NHibernate 的 Mysql 连接器(Mysql.Data.dll)。我还想在同一个项目中引用另一个项目(Migrator.NET)。问题是即使 Migrator.NET 是使用特定版本 = false 的对 MySql.Data 的引用构建的,它仍然会尝试引用构建库时使用的旧版本的 MySql.Data 而不是仅使用那里的版本..我得到标题中列出的异常:

----> System.IO.FileLoadException:无法加载文件或程序集“MySql.Data,版本=1.0.10.1,Culture=neutral,PublicKeyToken=c5687fc88969c44d”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

我在主程序集中引用的版本是 6.1.3.0。如何让两个程序集合作?

编辑:

对于那些指定程序集绑定重定向的人,我已经设置了:

我在另一个项目中引用了这个主程序集,但仍然遇到相同的错误。如果我的主程序集被复制到本地以在另一个程序集中使用,它会使用 app.config 中的设置,还是必须将此信息包含在引用我的主程序集的每个应用程序或程序集中?

0 投票
6 回答
8432 浏览

sql-server - 如何测试数据库迁移?

我正在使用Migrator.NET为应用程序编写数据库迁移。Marc-André Cournoyer 写道:

与应用程序中的任何代码一样,您 必须测试迁移。跌宕起伏的代码。将其作为持续构建过程的一部分,并在尽可能多的不同数据库和环境上进行测试。

我怎么做?假设我有创建表的 Up() 方法和删除同一个表的 Down() 方法,并且我正在使用 SQL Server。测试会是什么样子?我是否应该对系统表运行 SQL 查询,例如select * from sys.columns检查表是否已创建以及它是否具有正确的结构?如果我们使用 NHibernate 会怎样?

编辑 我的意思是 Rails ActiveRecord 迁移意义上的迁移(基于 C# 代码以小步骤创建、修改和拆除数据库)。

编辑 2 这里是我读到我们应该测试迁移的地方该博客文章实际上是从 Migrator 的 wiki 链接的。

0 投票
3 回答
1803 浏览

c# - 数据库迁移代码生成器

我想将数据库迁移引入我的项目,并希望能够从数据库生成我的初始迁移脚本。我想知道是否有任何代码生成工具可以做到这一点?我正在考虑使用 migrator.net,但我很乐意使用任何东西,只要我能得到一个工具来为其生成代码。

0 投票
1 回答
362 浏览

msbuild - 如何在 ClickOnce winforms 应用程序中调用 MsBuild.exe 并知道正确的路径?(即它在用户机器上运行)

我想在用户 PC 上运行 MSBuild,作为 WinForms ClickOnce 部署的一部分。也就是说,在应用程序下载并运行(通过 clickonce)之后,应用程序需要启动 MsBuild 来处理数据库更新(使用MigratorDotNet)。

问 - 我的应用程序如何稳健地启动 MsBuild?即如何确定它安装的路径,如果没有安装怎么办,我是否应该在 clickonce 包中包含 MSBuild.exe 以便我自己确定它在那里?

0 投票
1 回答
718 浏览

.net - MitratorDotNet (Migrator.Net) - 我可以只使用裸 SQL 上/下迁移文件吗?

我可以使用 migrator.net 裸迁移框架并且只有一组 SQL 文件来进行升级/降级吗?即只使用框架来检查数据库版本和运行哪些脚本等?

谢谢

0 投票
1 回答
338 浏览

c# - 如何使用 MigratorDotNet 向数据库添加索引?

有人可以指出我在使用 MigratorDotNet 时创建索引的正确方向吗?

我有一些需要多列索引的表。

谢谢

0 投票
4 回答
1941 浏览

c# - .NET 迁移:在运行时设置和迁移多个数据库

简介: 我有这个 ASP.NET Webforms 站点,其特点是它不仅有 1 个数据库,它有很多。为什么?因为您可以即时创建站点的新“实例”。每个“实例”共享相同的代码库,但有自己的数据库。这些所有数据库都具有相同的架构(结构),但当然数据不同。不要问“为什么不将所有内容都放在一个数据库中并使用 InstanceId 知道哪个是”,因为这是一个业务策略问题。

由于 url,应用程序知道正在请求哪个实例。有一个额外的数据库来完成这个(我在设计时知道它的连接字符串)。该数据库只有 2 个表,并将 url 与“应用程序实例”相关联。然后,当然,每个“应用程序实例”都有其关联的连接字符串。

当前情况:目前没有任何东西可以帮助我们同步维护每个实例数据库(将架构更改传播到每个数据库)。所以我们是手工做的,这当然是一团糟。

问题:我想使用 rails-migration 方式来处理架构更改,最好是migratordotnet,但如果更容易设置,可以使用任何其他方式。

问题是migratordotnet需要在proj.build文件中声明连接字符串,而我直到运行时才知道它们。

真正有用的是在Application_Start上运行的某种方法,它将最新的迁移应用到每个数据库。

这怎么能用migratordotnet或任何类似的东西来完成?非常欢迎任何其他建议。

谢谢!