问题标签 [fluent-migrator]

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 回答
368 浏览

msbuild - 使用 fluentmigrator 生成数据库脚本

我正在使用 fluentmigrator 并且遇到了一个问题,我每次运行构建脚本并完成时都需要使用 fluentmigrator 创建数据库脚本,但问题是我只想在数据库被更改时重写脚本。我怎样才能实现我当前的代码如下

0 投票
1 回答
5491 浏览

c# - 迁移器的解释(FluentMigrator)?

有人可以解释迁移者(特别是 fluentmigrator)的概念吗?

以下是我收集到的关于这个主题的(可能令人困惑的)事实:

  • 它是一种通过版本控制最初创建然后维护数据库更新的方法。

  • 第一次迁移(或数据库的初始版本)将包含所需的所有表、关系和属性(流利地完成或使用脚本中的一段 sql 完成)。

  • 当您想将更改推送到数据库时,您将创建一个新的迁移方法(向上和向下),例如添加新表或修改字段。

  • 要部署这些迁移之一,您将使用命令行指定包含迁移、连接字符串和所需版本的 dll。

如果您有一组相当复杂的数据模型,那么为所有这些创建迁移定义会不会相当困难和耗时?

我知道使用 nHibernate/fluent 您可以轻松地为数据库生成表,而无需定义模型和映射文件以外的任何内容。有没有办法让这个配置与迁移器/版本兼容?

当 nhibernate/fluent 负责生成数据库时,我不一定需要定义表的所有方面。它通过约定或通过映射文件完成。对于迁移者,我需要定义这种详细程度吗?

0 投票
1 回答
11065 浏览

fluent-migrator - 如何使用 Fluent Migrator 更改表定义

我正在尝试自己研究 Fluent Migrator,但遇到了一个问题,我需要更改由 Fluent Migrator 创建的表的结构,这意味着我使用以下代码创建了一个名为 user 的表

现在我需要在列名之后再添加 3 个名为 avatar_name,avatar_type,avatar_data 的列我该怎么做,请举例回答

提前致谢

0 投票
3 回答
6694 浏览

c# - FluentMigrator 回滚到不可为空的列?

鉴于以下迁移:

迁移器更改一列并使其可为空,并且在回滚时它执行相反的操作并使其再次不可为空。

假设foo自迁移以来已添加数据;现在列中有空的bar行。

如果回滚则操作将失败,fluentmigrator 有没有办法处理这种情况?或者什么是最佳实践。

0 投票
2 回答
3282 浏览

c# - 如何使用 FluentMigrator 运行配置文件迁移?

我正在使用 FluentMigrator 来管理我的数据库更改,我像这样执行我的迁移:

我不知道的是如何为特定配置文件执行迁移?

因此,鉴于我的迁移器具有这样的属性:

我尝试了以下几种变体:

但我没有更进一步,有谁知道我如何使用跑步者执行配置文件迁移?

0 投票
2 回答
141 浏览

fluent-migrator - 如何确定新课程未运行的原因

背景:VS 2012

我们已将表迁移拆分为单独的类,因此我们有

1级,

2级,

等我两次创建了一个新类,增加了迁移编号,(似乎是完全有效的代码)迁移过程只是不运行新类。没有错误或任何东西。它只是不运行。

现在我们正在使用批处理文件来运行迁移。

有什么方法可以调试来找出为什么不包含新类?

0 投票
1 回答
163 浏览

fluent-migrator - 用于插件架构的 MigratorDotNet

我们开始使用 Migrator.NET 来管理我们的数据库迁移,这太棒了,但我们还有一个额外的要求,即为我们的软件编写的插件需要添加自己的自定义字段(当然取决于插件)。

所以基本上我们有一个核心数据库表和我们的插件特定表。

我希望在 Migrator.NET 中我会看到一些像这样的附加属性

这样我就可以插入开发人员然后就可以做类似的事情

不幸的是,这个参数不存在,版本表似乎没有任何地方可以存储标签/插件名称

有人知道我将如何去做吗?

我已经看到 Ruby/Redmine 支持这种架构,因为它们允许插件包含自己的数据库迁移,但是希望能够在 MigratorDotNet 中做到这一点。

0 投票
1 回答
686 浏览

azure - 在 Team Foundation Service 构建完成后添加 Fluent Migrator 迁移步骤

我有一个 ASP.NET MVC4 应用程序,我正在使用托管的 Team Foundation Service 来自动构建并部署到 Azure 网站。

除了部署数据库更改之外,这非常有用。

我正在使用 Fluent Migrator 来指定对数据库的更改,目前我有一个 IDatabaseInitializer 的自定义实现,因此当我的实体框架上下文启动时,它会根据需要进行任何迁移。显然,这使得数据库迁移直到应用程序“首次运行”,而不是构建和部署。

我想要做的是让构建在部署到 azure 之前尝试迁移(因此如果迁移出现问题,则构建失败)。

托管构建服务可以做到这一点吗?我可以像使用自托管的内部 TFS 一样添加构建后步骤吗?

0 投票
2 回答
5653 浏览

.net - 实体框架迁移可以做什么 FluentMigrator 不能?

我目前有几个使用 FluentMigrator 的数据库,我很想知道 Entity Framework Migrations 的比较。

EF Migrations 是否可以在迁移中播种数据并根据 FluentMigrator 等环境有选择地运行迁移脚本可以使用标签和配置文件?

我已经在使用 EF Database First 作为我的应用程序的 ORM,并且我想我在某处读到过,非 Code First EF 现在也支持 EF 迁移,但是我的团队一直在考虑重构为 Code First 方法,因为数据库优先方法的一些限制。那么,在使用代码优先方法时,EF 迁移是否比使用另一个第三方迁移框架更有意义?

0 投票
1 回答
393 浏览

sql - 在一个表中插入一行,加入另一个表

我不确定这是如何工作的,但有两个表。一个表仪器和另一个仪器元数据。仪器应该只有一行仪器元数据。我正在尝试创建迁移以删除某些工具的当前仪器元数据,因为有人添加了字段以使其成为 1 对多。我这样做了:

现在我想为仪器中的某些行在仪器元数据中添加一行(为每个仪器创建我的 1 对 1 元数据)。我不知道该怎么做,因为我的仪器元数据的 Id 字段需要与仪器表中的 MetadataId 匹配。如果有可以帮助的语法,我们将使用 fluent-migrator,但我对纯 sql 很好,因为我对 fluent-migrator 不太了解。提前致谢!