- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在研究迁移框架/工具的可能选项。我喜欢上述框架所基于的 ruby 迁移的想法。
所以我想征求您的经验、意见以及它们之间的比较。您在生产中使用它们吗?
感谢您的回复。这个问题的目的是了解开发人员社区中使用最多的工具,但迁移似乎不是这里的热门话题。
无论如何,我决定使用 MigSharp,因为它的代码库看起来非常干净,而且很容易处理,并且内置了对 MS SQL CE 的支持。亚军将是 FluentMigrator,我无法为精简版制作一个工作示例。
干杯
最佳答案
我在生产中使用 FluentMigrator,并且是 FM 的长期贡献者。我认为您的问题很笼统;更加详细一些。此外,FM 有一个 google 群组,如果您需要 FM 信息,该群组非常活跃。
FM 源自 migrator.net,我记得。它使用流畅的语法,并支持多个数据库。我们从 rails migrations 中获得了一些灵感,但它绝对不是一个端口。值得一试。
我学到的一件事是不要将您的迁移与您的应用程序代码放在同一个程序集中。将它们分离到一个迁移程序集中,并使用它来迁移您的数据库。
此外,您应该始终在多个环境中工作,以避免直接针对生产运行的迁移问题。我总是至少有一个开发和生产环境,而且大多数时候还有一个测试环境。
关于database - migrator.net vs fluentmigrator vs migsharp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7246101/
我正在使用FluentMigrator将一个数据库架构迁移到另一个数据库架构。我有一种情况,我想在删除外键之前先检查它是否存在。 以前,我只是通过执行以下操作删除外键: Delete.ForeignK
FluentMigrator 如何知道启动应用程序时要执行/迁移哪些迁移? 示例:我已经执行了两次迁移(1 和 2)。现在,我创建第三个迁移并为其指定 id 3。当我启动应用程序时,FluentMig
我正在更新列的值并尝试使用以下代码: Update.Table("Table1").Set(new { Column1 = Column1 + 123 }); 但是出现错误'Column1' does
是否有任何代码生成模板可用于 FluentMigrator 从 SQL (T-SQL) 语句生成迁移类? 理想情况下,我希望获取包含用于创建表、索引等的语句的文本,并使用包含与原始 SQL 语句等效的
我正在尝试将默认值设置为另一列的当前值。有没有办法用 FluentMigrator 轻松做到这一点? public override void Up() { Alter.Table(NomTa
我创建了一个新的公共(public)类 M203_InsertPercent,它将根据 SQL 语句将数据插入数据库。当我使用连接字符串运行 Migrate.exe 时,程序集 FluentMigra
我继承了一个使用 FluentMigrator 管理迁移的项目。最初,该项目在应用程序启动时正在执行迁移,但 I.T.已经对此进行了打击,我们现在必须向 DBA 提供脚本以进行我们所有的数据库更改。
有人可以解释移民(特别是流移民)的概念吗? 我已经收集了关于这个主题的(可能是混淆的)事实: 它是最初创建然后维护数据库更新的方法吗 通过版本控制。 的首次迁移(或 数据库)将包含所有表,关系和属性
给定以下迁移: [Migration(1)] public class Mig001 : Migration { public override void Up() {
何时以及为何使用 FluentMigrator作为 Entity Framework Code-First Migration做同样的工作。 两者看起来非常相似,当 EF 已经提供类来操作数据库架构时
因此,我有一个 Web 应用程序,打算上传到 Azure 网站,并且我有使用 NH 的 Project.Model.csproj 和使用 FluentMigrator 的 Project.Model.
是否可以创建 filtered index使用 FluentMigrator?场景是我想在可能包含 NULL 的列上创建唯一索引,因此过滤器应排除索引列中包含 NULL 的行。 我已经修改了由 Flu
我正在寻找一个可与使用 .NetTiers 的现有项目配合使用的迁移框架,.NetTiers 是一种较旧的 ORM,需要 CodeSmith 生成数据访问代码。 我们有一些roundhouse的经验,
是否可以使用 FluentMigrator 创建触发器,而不使用原始 SQL? 我已经查看了当前在 Nuget (FluentMigrator.1.0.1.0) 上发布的版本的对象模型,但看不到这样做
在 FluentMigrator 中覆盖默认迁移约定的合适位置在哪里?应该与运行者一起完成,还是在迁移中完成?还是别处? 具体来说,我想更改索引命名约定以匹配 ServiceStack 使用的命名约定
假设我在同一个数据库中有两个独立的表,表 Book 和 Cup。我只使用称为 Id 的主键 (int) 创建两者。然后,为了保持整洁,我将它们分成不同的项目并为两者创建 FluentMigration
我们正在开发一个使用 Entity Framework 4(代码优先)和 Fluent Migrator 的项目。 在整个项目中,我们为所有架构更改创建了迁移,为我们希望在各种环境中填充的测试数据创建
在迁移过程中,我如何插入到我的表中,然后检索 ID,然后使用它在另一个表中插入相关数据。 我现在拥有的是一个很难插入的 ID,但我不知道运行迁移时它会是什么。 var contactId = 2; v
我正在寻找一种在创建表之前为流畅的迁移器检查编写扩展方法的方法,就像这样 Schema.TableIfNotExist("table").InSchema("dbo").WithColumn("Id"
目前,当我将 FluentMigrator.Runner nuget 包添加到 c# 项目时,它会自动安装所有其他相关的 nuget 包:FluentMigrator.Runner.Db2、Fluen
我是一名优秀的程序员,十分优秀!