This is the only way I found to change the conventions. You need to create an abstract class that extends "FluentMigrator.Migration" changing its conventions. Then, all your migration class should extend this class instead of 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_");
}
}