我们开始使用Migrator.NET来管理我们的数据库迁移,这很棒,但是我们还要求为我们的软件编写插件,这些插件需要添加自己的自定义字段(当然,取决于插件)
基本上我们有一个核心数据库表和我们的插件特定表。
我希望在Migrator.NET中我会看到某种类似的附加属性
[Migration(1, "Core")
public class Migration1 : Migration
{
}
这样我就可以插入开发人员然后能够做类似
的事情[Migration(1, "PluginName")
public class Migration1 : Migration
{
}
不幸的是,这个参数不存在,版本表似乎没有任何地方存储标签/插件名称
CREATE TABLE [dbo].[VersionInfo](
[Version] [bigint] NOT NULL,
[AppliedOn] [datetime] NULL
) ON [PRIMARY]
有没有人有任何想法我会怎么做呢?
我已经看到Ruby / Redmine支持这种架构,因为它们允许插件包含自己的db迁移,但是很想能够在MigratorDotNet中执行此操作。
答案 0 :(得分:1)
您提到自己正在进行标记,并且您可以根据标记过滤迁移,例如:
[Tags("DK", "NL", "UK")]
[Tags("Staging", "Production")]
[Migration(1)]
public class DoSomeStuffToEuropeanStagingAndProdDbs() { }
有关详细信息,请参阅以下Wiki页面:
https://github.com/schambers/fluentmigrator/wiki/Filter-migrations-run-based-on-Tags