代码之家  ›  专栏  ›  技术社区  ›  user3378165

更改外键表的名称

  •  0
  • user3378165  · 技术社区  · 6 年前

    我运行了一个迁移(使用fluent migrator),发现外键上的表名出错了。

    我该怎么解决?我应该运行新的迁移吗?

    public class AdditionalCosts : Migration
        {
    
            public override void Up()
            {
                Create.Table("AdditionalCosts").WithColumn("ID").AsInt32().PrimaryKey().Identity()
                      .WithColumn("DocTypeID").AsInt32().NotNullable()
                      .WithColumn("Cost").AsInt32().NotNullable()
                      .WithColumn("CreatedAt").AsDateTime().Nullable().WithDefault(SystemMethods.CurrentDateTime)
                      .WithColumn("AddedBy").AsString().Nullable()
                      .WithColumn("ModifiedAt").AsDateTime().NotNullable().WithDefault(SystemMethods.CurrentDateTime)
    
                Create.ForeignKey()
                    .FromTable("AdditionalCosts").ForeignColumn("DocTypeID")
                    .ToTable("Documents").PrimaryColumn("ID");
    
            }
    
            public override void Down()
            {
                Delete.Table("AdditionalFees");
            }
    
        }
    

    外键应该是(不同的 ToTable ):

    Create.ForeignKey()
         .FromTable("AdditionalCosts").ForeignColumn("DocTypeID")
         .ToTable("DocumentTypes").PrimaryColumn("ID");
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   user3378165    6 年前

    感谢@liam,我可以通过运行以下命令回滚到上一次迁移:

    dotnet fm rollback -c ';Persist Security Info=True;User ID=test;Password=test; Initial Catalog=test;Data Source=.\SQLEXPRESS' -p SqlServer -a ./Project.Data/bin/Debug/netcoreapp2.2/Project.Data.dll to 20190123125705 --migration version