问题标签 [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 回答
369 浏览

msbuild - Fluent Migrator 在运行时抛出 Invalid character in path 错误

我遇到了这个问题——当我运行 MSBuild 任务来执行迁移时,它会抛出一个错误:

执行迁移时遇到以下错误:路径中有非法字符。


删除了我昨天添加的最后一个迁移 - 同样的问题。
我使用的版本是 NuGet 的 1.1.0。

0 投票
1 回答
334 浏览

firebird - Fluentmigrator 火鸟触发器

有没有办法使用 fluentmigrator / firebirdsql 创建触发器?

当我尝试这个

什么都没发生。我使用 SET TERM ^ 尝试了 firebird 语法;但我得到一个错误。我还尝试使用 Execute.Script() 从脚本调用 DDL 语句,但仍然没有。

有什么建议么?谢谢!

0 投票
1 回答
1096 浏览

mysql - FluentMigrator Create Clob/Text

What´s the right way to create a TEXT (MYSQL) or CLOB(ORACLE/SQLSERVER) using a Migration script?

I mean something like: Alter.Column("column").OnTable("table").AsXXX

0 投票
1 回答
1104 浏览

azure - FluentMigrator 和 Azure 部署

我有一个新的 ASP.NET MVC 项目,它将使用他们的云服务托管在 Azure 中,并运行多个 Web 角色。我的问题是关于如何使用 FluentMigrator 进行生产部署来进行数据库更改。

如果我在 TeamCity 部署期间运行 FluentMigrator,它似乎会先更新数据库,然后一次部署到多个 Web 角色。因此,似乎有些用户会访问旧版本的站点并使用新的数据库结构,这将导致不匹配和抛出异常。

使用 FluentMigrator 部署到生产 Azure SQL 数据库环境的最佳做法/建议是什么?

0 投票
1 回答
2047 浏览

fluent-migrator - 如何在 Fluent Migrator 中创建组合外键

我需要像下面的代码一样创建一个外键:

显然这段代码不起作用。我怎么能做这样的事情?

谢谢

0 投票
1 回答
450 浏览

powershell - FluentMigrator 创建表权限被拒绝

我在跑

C:\Dev\Migrate> MSBuild.exe .\build.proj /t:Migrate

来自fluentmigrate项目 的 powershell

并得到以下错误:

这是 build.proj

不应该从连接字符串用户详细信息中获取权限吗?作为数据库所有者连接?

0 投票
1 回答
790 浏览

c# - 使用 FluentMigrator 更改约定

在 FluentMigrator 中覆盖默认迁移约定的合适位置在哪里?应该与跑步者一起完成,还是在迁移中完成?还是别处?

具体来说,我想更改索引命名约定以匹配 ServiceStack 使用的约定(例如IX_Foo_Bar=> uidx_foo_bar)。

我看到了具有属性的方法MigrationBase.ApplyConventions(IMigrationContext )...IMigrationContext我应该在迁移中IMigrationConventions创建自己的方法吗?MigrationContext如果我希望所有迁移都使用相同的约定怎么办?

0 投票
1 回答
1796 浏览

fluent-migrator - 如何检查是否需要运行迁移或是否使用 fluent 迁移器运行?

使用 FluentMigrator,有没有办法找出 MigrateUp() 函数是否确实会迁移某些东西,或者它是否已经是最新的?

0 投票
2 回答
2654 浏览

sql - 代替自动更新数据库,使用流利的 n-hibernate 生成用于生产环境的 sql 脚本

我浏览了不同的文档,但没有找到任何解决此问题的内容。我正在考虑将 fluentmigrator 用于未来的项目,尽管对于登台/生产实践必须通过 dba 进行模式更新。我可以为其他环境(例如测试、开发和本地)做我想做的事情。

如果我必须编写脚本来进行更改,那么该工具的目的就完全失败了。但是,我突然想到,如果我没有呢?所以我的问题是:是否有可能让流利的迁移将 sql 脚本吐出到文件中,而不是实际运行事务?

在我的实验中,我创建了一个控制台应用程序,它使用与主项目相同的 DAL 程序集,并利用迁移器逻辑,因此每当我运行控制台应用程序时,它都会从头开始更新数据库,或者根据我的选择从最近的点更新数据库. 我们使用 TeamCity,因此认为让它运行应用程序并将脚本(作为工件)放在文件夹中作为我们 DBA 在环境中更新架构的构建过程中的一个步骤可能会很酷,我自己会皱眉头。

0 投票
1 回答
6508 浏览

.net - 将 FluentMigrator 与现有数据库一起使用

我正在寻找一个迁移框架,该框架将与使用 .NetTiers 的现有项目一起使用,这是一种需要 CodeSmith 生成数据访问代码的旧 ORM。

我们有一些roundhouse的经验,并且我们已经成功地使用了它。在 Octopus Deploy 之外运行部署时,我们还能够自动部署架构更改。相当简单,因为它只是 SQL 脚本的集合。

我一直对迁移到 FluentMigrator 很感兴趣。我喜欢 FM DSL,我发现这个 SO 问题非常有用,但是有几件事我不明白:

  1. 导入现有数据库模式 [*] 的正确方法是什么?
  2. 将迁移部署到生产环境的正确方法是什么 [**]?

[*] 我的假设是我使用 SQL Server 工具生成单个脚本并使用 ExecuteEmbeddedSql 作为初始迁移。那是对的吗?

[**] 运行迁移似乎有三种主要方式(命令行、NAnt 运行器、MSBuild 运行器)。他们需要访问数据库才能运行。想象一下,我们想将它部署到 PROD 环境。开发人员和构建服务器无法访问此环境。您如何针对该环境运行这些跑步者?

我们通常的部署过程是生成一组 SQL 脚本,这些脚本需要作为部署的一部分进行部署。Ops 将这些作为部署的一部分运行,或者作为 Octopus 部署过程 (powershell) 的一部分自动运行,或者如果部署在 Octopus 之外,则手动运行。

我们在这个特定项目中遇到的一个复杂问题是 .NetTiers。这意味着我们必须使用 .NetTiers 运行 CodeSmith 代码生成来构建数据访问层,然后才能针对这些实体和数据服务进行编码。因此,我们的工作流程必须是:

  1. 写迁移
  2. 运行迁移以升级数据库(针对特定的 .NetTiers 数据库)
  3. 针对特定的 .NetTiers 数据库(中央构建服务器)运行 .NetTiers
  4. 针对新 .NetTiers 生成的实体、数据库字段等的代码

我很想转储 .NetTiers,但遗憾的是,重构目前不是一个可行的选择。