问题标签 [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 投票
2 回答
638 浏览

nant - 设置 NAnt 和 FluentMigrator

我有一个包含大量迁移的项目。我可以使用 migrator.exe 手动运行它,但是很难让它与我更喜欢的 NAnt 一起工作。

我有一个包含以下内容的 *.build 文件:

当它运行时,我得到以下输出:BUILD FAILED

我去寻找depends.exe,但该站点似乎已关闭,有关如何使其正常工作的任何想法?如果我做错了,我愿意接受全新的想法。

======更新完整解决方案======

主席和 armen.shimoon 对他们的答案有所了解。

第一步,我将 FluentMigrator 和 FluentMigrator.Tools 更新为 1.0.5.0。这些工具仍为 1.0.3.0。

第二步是更新我的构建文件以引用 .NET 4.0 dll。两者的结合解决了这个问题,但直到我引用了 .NET 4.0 dll 才显示出改进。

这是我当前的 .build 文件以供将来参考:

0 投票
2 回答
9252 浏览

fluent-migrator - 流利的迁移者。如何将具有默认值的日期时间列添加为当前日期?

如何使用当前日期时间的默认日期时间值更改流畅迁移中的列?

所以我需要这样的东西:

ALTER TABLE database ADD column DATETIME DEFAULT GETDATE() NOT NULL;

仅用于流畅的迁移。谢谢。

0 投票
2 回答
10446 浏览

c# - 使用 fluentmigrator 运行 sql 脚本

我有 SQL 脚本:

并使用 Fluentmigrator:

它执行成功,如果我添加一些 SQL:

在 Fluentmigrator 中执行失败,带有Oracle exeption {"ORA-00911: invalid character"}.

我的数据库是 Oracle 数据库。

有什么问题?

0 投票
1 回答
469 浏览

visual-studio - 如何使用 FluentMigrator 创建回滚到特定版本的命令行参数

我在 Visual Studios 的一个项目中添加了几个表。但是,我想使用 FluentMigrator 回滚到以前的版本。但是,在指定用于回滚多个版本的命令时,Git 网站并不是很有帮助:https ://github.com/schambers/fluentmigrator/wiki/Command-Line-Runner-Options

如果我做这个命令行争论,它会恢复我添加的最后两个文件吗?我添加了命令:“rollback:toversion -- version 2”,但我不完全确定我是否使用了这个权利。

0 投票
1 回答
7314 浏览

entity-framework - 基于 EntityFramework 代码的迁移,如何确定顺序?

我正在使用 EF 5.0,我想开始使用基于代码的迁移

我使用了流利的迁移器,并且有一个迁移顺序的概念。无论数据库的迁移版本如何,都可以迁移/回滚迁移。

Entity Framework 是否有类似的功能?

我计划为每个数据库版本保留多个迁移实现(最初可能与 sprint 编号相关)。

我为什么要这个?

我们的持续集成将为每个环境迁移数据库。很可能我们的 Dev 构建将只有一个“落后”版本,但是当我们进入 QA 或 PROD 环境时,数据库将被多次迁移落后。

也许我的做法是错误的,在这种情况下,我很想听听关于使用 CI 进行迁移的最佳方式的意见。

0 投票
1 回答
4308 浏览

fluent-migrator - 在 Execute.WithConnection 操作中调用 FluentMigrator 方法

在我传递给的操作中调用 FluentMigrator 的构建器方法Execute.WithConnection会导致抛出空引用异常。

我想要做的是选择一些数据,以便我可以在 c# 中操作它,因为这比在 T-SQL 中操作它更容易,并使用我的 c# 操作的结果来更新数据或插入新数据(将更具体地说,我需要从存储的 url 字符串中选择一个查询字符串参数并将其插入到其他位置)。

我看到在迁移中选择数据的唯一方法是自己使用Execute.WithConnection和检索数据(FluentMigrator 不提供用于选择数据的帮助器),但如果我尝试在操作中使用任何流利的迁移器表达式,我传递给Execute.WithConnection空引用异常是抛出。

这是我的代码的简化版本:

调用 Inser.IntoTable 的行会导致从第 36 行抛出空异常FluentMigrator\Builders\Insert\InsertExpressionRoot.cs- 此时 _context 变量似乎可能为空,但我不明白为什么会这样。(在测试 Create.Table 时,例如,它发生在第 49 行FluentMigrator\Builders\Create\CreateExpressionRoot.cs

任何帮助,将不胜感激。也许对于 DML 在迁移中是否合适存在分歧,我愿意接受建议,但这种情况仅在本周就出现了两次。现在,我只是在操作中使用我的微 ORM 而不是 FluentMigrator 执行插入,这确实有效,但我想做的似乎应该有效。

0 投票
2 回答
2463 浏览

c# - 如何在 C# 中为集成测试播种数据库数据?

我最近一直在针对 ASP.Net MVC 控制器操作编写一些集成测试,并且对设置运行测试所需的测试数据的困难感到沮丧。

例如,我想测试控制器的“添加”、“编辑”和“删除”操作。我可以很好地编写“添加”测试,但后来发现要编写“编辑”测试我要么必须调用“添加”测试的代码来创建记录,以便我可以编辑它,或者在测试课上做了很多设置,但都不是特别吸引人。

理想情况下,我想使用或开发一个集成测试框架,以便更容易以可重用的方式为集成测试添加种子数据,以便安排/动作/断言测试的安排方面可以专注于安排我特别需要安排的内容我的测试,而不是考虑安排大量与被测代码间接相关的参考数据。

我碰巧在使用 NHibernate,但我相信任何数据播种功能都应该忽略这一点,并且能够直接操作数据库;ORM 可能会改变,但我将始终使用 SQL 数据库。

我正在使用 NUnit,因此设想挂钩到 test/testfixture setup/teardown(但我认为一个好的解决方案可能会转移到其他测试框架)。

我在我的主要项目中使用FluentMigrator来管理模式和参考数据的播种,因此能够使用 FluentMigrator 框架在整个解决方案中实现一致的方法会很好,但不是必需的。

所以我的问题是,“如何为 C# 中的集成测试播种数据库数据?” 你直接执行SQL吗?你使用框架吗?

0 投票
1 回答
1097 浏览

entity-framework - 是否首先使用实体​​框架代码纯粹用于数据库迁移?

我目前正在使用RoundhouseE来管理我的数据库迁移,这非常有效。

我一直在研究各种迁移创建技术,例如FluentMigrator和其他一些技术。虽然错误的可能性似乎非常高,因为它们中的大多数都不是强类型的。例如,这是来自 FluentMigrator 的迁移

我之前使用过 Entity Framework 代码优先,并且非常喜欢迁移引擎,因为它会生成基于代码的迁移,然后您可以进行之后需要的任何更改。但是我真的不需要 EF 框架的其余部分,它对于我正在寻找的东西来说有点重量级。

仅使用 EF 进行迁移但不打扰其他任何操作是否可以接受?还有一个不错的roundhouse插件

从 ORM 的角度来看,我使用的大多数数据与 PetaPoco 或 Dapper 之类的数据平平,似乎是一个更轻的解决方案。

0 投票
1 回答
2148 浏览

sql-server - FluentMigrator 是否支持创建过滤索引?

是否可以使用 FluentMigrator创建过滤索引?场景是我想在可能包含 NULL 的列上创建唯一索引,因此过滤器应该排除索引列的 NULL 行。

我在 SQL Server 2012 中修改了 FluentMigrator 生成的索引以使用这样的过滤器,并且可以确认它运行良好,所以剩下的难题是生成这个选项。

0 投票
1 回答
419 浏览

msbuild - Fluent Migrator 是否支持 .NET Framework 4.5?

最近我听说了 FluentMigrator 及其功能,对此感到非常惊讶,我想在我的 .NET Framework 4.5 的新项目中使用它,当我在 github 中查看时,我看到最新版本支持 3.5 和 4.0,他们没有提到关于 4.5,我用 fluent 迁移器搜索了关于 4.5 的任何新闻,但没有得到任何令人满意的结果,所以我想知道是否可以将 Fluent Migrator 与 .NET Framework 4.5 一起使用