这是一个简单的问题:是否可以使用MySqlMigrationSqlGenerator
为MySQL创建自定义迁移操作?由于MySqlMigrationSqlGenerator
类无法像SqlServerMigrationSqlGenerator
这样的Statement
方法,因此我怎么可能这样做?
您可以从MySqlMigrationSqlGenerator
覆盖Generete
方法,并沿着:
protected override MigrationStatement Generate(CreateTableOperation op) => base.Generate(op);
MigrationStatement
具有Sql
字符串侧孔。您可以将自己的SQL添加到此Sql
属性中。即:
protected override MigrationStatement Generate(CreateTableOperation op)
{
MigrationStatement statement = base.Generate(op);
if(/*Your condition */)
{
statement.Sql += $@"; {/*Your Sql*/};";
}
return statement;
}