Мы начинаем использовать Migrator.NET для управления нашими миграциями баз данных, это фантастика, но у нас есть дополнительное требование, чтобы плагины, написанные для нашего программного обеспечения, которые требуют добавления собственных пользовательских полей (в зависимости от подключаемого модуля в частности).MigratorDotNet для плагинов Архитектура
Итак, в основном у нас есть наши основные таблицы базы данных и наши таблицы с плагинами.
Я надеялся, что в 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.
Ok I» v обнаружено, что RikMigrations поддерживает «Модуль» [сборка: миграция (typeof (M001_Update), 1, «ModuleName»] проблема только в том, что она не поддерживает MySql! d проект кажется довольно стильным по сравнению с FluentMigrations. В любом случае с помощью модуля plugin разработчики могут просто указать их имя в виде модуля, так что я почти там. У кого-нибудь есть решение для MySql? –