0

Visual Studios のプロジェクトにいくつかのテーブルを追加しました。しかし、FluentMigrator を使用して以前のバージョンにロールバックしたいと考えています。ただし、いくつかのバージョンをロールバックするために使用するコマンドを指定する場合、Git Web サイトはあまり役に立ちません: https://github.com/schambers/fluentmigrator/wiki/Command-Line-Runner-Options

このコマンド ライン引数を実行すると、最後に追加した 2 つのファイルが元に戻りますか? コマンド「rollback:toversion -- version 2」を追加しましたが、この権利を使用しているかどうかは完全にはわかりません。

--conn "MyProject" --provider sqlserver --a "MyProject.DBMigrations\bin\Debug\MyProject.DBMigrations.dll" --task rollback:toversion --version 2  --verbose true
4

1 に答える 1

1

2つのステップをロールバックする場合は、タスクをに設定しrollbackてスイッチを使用しstepsます。

--conn "MyProject" --provider sqlserver --a "MyProject.DBMigrations\bin\Debug\MyProject.DBMigrations.dll" --task rollback --steps 2  --verbose true

特定のバージョンにロールバックする場合はrollback:toversion、スイッチでタスクを使用しますversion。次に、これが参照するバージョンを、移行の移行属性の一意のIDに設定します。私の場合、移行には日時形式を使用しているため、今日の日時は201303062126になります。

    [Migration(201303062126)]
    public class CreateInitialDB : Migration
    {
        public override void Up()
        {
         ...

そして、その特定のバージョンにロールバックしたい場合は、次のようになります。

--conn "MyProject" --provider sqlserver --a "MyProject.DBMigrations\bin\Debug\MyProject.DBMigrations.dll" --task rollback:toversion --version 201303062126

そして、この移行よりも新しいすべての移行はロールバックされますが、移行201303062126はロールバックされません。

ウィキを更新して、次の人のためにわかりやすくします。

于 2013-03-06T20:31:41.930 に答える