【T7a】データモデルの変更とマイグレーションの設計(4/7)
プロジェクトタイプ | (注意: 本文参照) |
---|---|
プロジェクト名 | T7a |
ソリューション名 | PIT7 |
注意
- 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
- 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
- プロジェクトの作成作業については準備作業を参照せよ.
7a-4. マイグレーション処理の取り消し
ついでなので,先ほど適用したマイグレーション処理,つまりMiddleName
列の追加を取り消すことも試してみよう.
コマンドラインターミナル 1 で_に示すコマンドを実行してみよう.
PS>
dotnet ef database update InitialDB
dotnet ef database update
コマンドには_に示すように引数を指定することが可能で,
dotnet ef database update
のようにして使用することができる.
今回の場合作成済みのマイグレーションは古い順に以下のようになっている.マイグレーション名
InitialDB
(最初の定義)AddMiddleName
作成済みのマイグレーションの名前は Migrations フォルダを見れば確認できる(_).
この場合は直前のマイグレーション処理は InitialDB
であるため,これを引数として指定している.
引数を指定しない場合は最新のマイグレーション処理(今回の場合はAddMiddleName
の処理)までのすべての処理が適用される.
dotnet ef database update
は現状のデータベースがどのバージョンであるかにかかわらず,指定したあるいは最新のバージョンの
モデルクラスにテーブル定義が一致するようにデータベースを更新する作用を持ったコマンドである.
_を実行したら, pgAdmin で Students テーブルの全内容を確認してみよう.
MiddleName
列が削除され,MiddleName
列の内容がLastName
列に結合されたことが分かるだろう(_).
これは先ほどのDown()
メソッドの作用によるものである.
確認したら最新のマイグレーション処理を再適用しておこう.リスト7a-3-9のコマンドを実行して, pgAdmin で図7a-3-5と同じ状態になることを確認しておこう.
タブのタイトルは「開発用PowerShell」もしくは「Developer PowerShell」となっている. ↩︎