0

FluentMigrator1つのプロジェクトで使用しています。以下のようなコードがあるとしましょう。

したがって、新しい移行を実行するたびに、以前のデータはすべて削除されます。それを回避し、変更されていない場所でデータを安全に保つ方法はありますか?

  public class Migration1 : Migration
    {
        public override void Up() {
            Create.Table("Project")
                .WithColumn("id").AsInt64().PrimaryKey().Identity()
                .WithColumn("name").AsString(30).Nullable()
                .WithColumn("author").AsString(30).Nullable()
                .WithColumn("date").AsDate().Nullable()
                .WithColumn("description").AsString(1000).Nullable();

            Create.Table("Data")
                .WithColumn("id").AsInt64().PrimaryKey().Identity()
                .WithColumn("project_id").AsInt64().ForeignKey("Project", "id")
                .WithColumn("a").AsInt32().Nullable()
                .WithColumn("b").AsInt32().Nullable()
                .WithColumn("c").AsInt32().Nullable()
                .WithColumn("d").AsInt32().Nullable();
        }

        public override void Down() {
            Delete.Table("data");
            Delete.Table("project");
        }
    }
4

1 に答える 1

1

方法の一部として、Down削除するテーブルと同一であるが、タイムスタンプで事後修正されるいくつかのバックアップ テーブルを作成できます。例えば:

Project_201407091059
Data_201407091059

次に、削除されるテーブルからこれらのテーブルにすべてのデータをコピーできます。

于 2014-07-09T10:00:07.033 に答える