You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移器流程中如何为Migration表及列设置别名统一小写命名

如何为Migration表及列设置全小写别名以保持命名一致性

当然可以为Migration表及其列设置全小写别名,具体实现方式取决于你使用的迁移框架,结合你提供的代码,这里给出两种可行的实现思路:

  • 通过迁移框架配置自定义表/列名
    如果你的Migrator类支持配置扩展,可以在初始化时直接指定全小写的表名和列名映射:

    public void Migrations(IDbConnectionFactory dbFactory){
       Logger.Info("---------------- Start Migrations Items ------------------");
       // 假设Migrator支持通过配置项自定义命名
       var migrator = new Migrator(dbFactory, typeof(Migration0000).Assembly)
       {
           TableName = "migration",
           ColumnMappings = new Dictionary<string, string>
           {
               {"Id", "id"},
               {"MigrationName", "migration_name"},
               {"AppliedOn", "applied_on"}
               // 根据实际列名补充全小写映射
           }
       };
       var result = migrator.Run();
       Logger.Info($@"Succeeded: {result.Succeeded}");
       Logger.Info($@"TasksRun: {result.TasksRun.ToList().Select(x => x.GetType()).ToList().Select(y => y.Name).ToJsv()}");
       Logger.Info($@"TypesCompleted: {result.TypesCompleted.Select(x => x.Name).ToJsv()}");
       Logger.Info("---------------- Finish Run Migrations -------------------");
    }
    
  • 直接修改迁移文件中的命名
    如果框架不支持动态配置,你可以直接在具体的迁移类(比如Migration0000)中,使用全小写的表名和列名来创建或修改表:

    public class Migration0000 : Migration
    {
        public override void Up()
        {
            Create.Table("migration")
                .WithColumn("id").AsInt32().PrimaryKey().Identity()
                .WithColumn("migration_name").AsString().NotNullable()
                .WithColumn("applied_on").AsDateTime().NotNullable();
        }
    
        public override void Down()
        {
            Drop.Table("migration");
        }
    }
    

如果你的Migrator是特定框架(比如ServiceStack Migrator)的实现,还可以通过框架提供的命名策略(如LowerCaseNamingStrategy)全局配置表和列的命名规则,一次性实现全小写的命名一致性。

内容的提问来源于stack exchange,提问作者Carlos Ramírez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:42:13