データベースの移行を管理するために 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 は、プラグインに独自のデータベース移行を含めることができるため、この種のアーキテクチャをサポートしていることを見てきましたが、MigratorDotNet でこれを実行できるようにしたいと考えています。