这是我发现改变约定的唯一方法。您需要创建一个扩展“FluentMigrator.Migration”的抽象类,更改其约定。然后,您的所有迁移类都应该扩展此类而不是 FluentMigrator.Migration。
public abstract class BaseMigration : Migration
{
// Update conventions for up migration
public override void GetUpExpressions(IMigrationContext context)
{
this.UpdateConventions(context);
base.GetUpExpressions(context);
}
// Update conventions for down migration
public override void GetDownExpressions(IMigrationContext context)
{
this.UpdateConventions(context);
base.GetDownExpressions(context);
}
// Change the conventions
public void UpdateConventions(IMigrationContext context)
{
var conventions = ((MigrationConventions)context.Conventions);
conventions.GetIndexName = index => DefaultMigrationConventions.GetIndexName(index).Replace("IX_", "uidx_");
}
}