情報応用演習Ⅰ(2024)

【T7a】データモデルの変更とマイグレーションの設計(4/7)

プロジェクトタイプ(注意: 本文参照)
プロジェクト名T7a
ソリューション名PIT7
注意
  • 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
    • 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
    • プロジェクトの作成作業については準備作業を参照せよ.

7a-4. マイグレーション処理の取り消し

ついでなので,先ほど適用したマイグレーション処理,つまりMiddleName列の追加を取り消すことも試してみよう. コマンドラインターミナル 1_に示すコマンドを実行してみよう.

マイグレーション処理の取り消しの例
PS> dotnet ef database update InitialDB

dotnet ef database update コマンドには_に示すように引数を指定することが可能で, dotnet ef database update マイグレーション名のようにして使用することができる. 今回の場合作成済みのマイグレーションは古い順に以下のようになっている.

  1. InitialDB(最初の定義)
  2. AddMiddleName

作成済みのマイグレーションの名前は Migrations フォルダを見れば確認できる(_).

作成済みのマイグレーション処理の確認

この場合は直前のマイグレーション処理は InitialDB であるため,これを引数として指定している. 引数を指定しない場合は最新のマイグレーション処理(今回の場合はAddMiddleNameの処理)までのすべての処理が適用される. dotnet ef database update は現状のデータベースがどのバージョンであるかにかかわらず,指定したあるいは最新のバージョンの モデルクラスにテーブル定義が一致するようにデータベースを更新する作用を持ったコマンドである.

_を実行したら, pgAdmin で Students テーブルの全内容を確認してみよう. MiddleName列が削除され,MiddleName列の内容がLastName列に結合されたことが分かるだろう(_). これは先ほどのDown()メソッドの作用によるものである.

マイグレーション処理の取り消し後

確認したら最新のマイグレーション処理を再適用しておこう.リスト7a-3-9のコマンドを実行して, pgAdmin で図7a-3-5と同じ状態になることを確認しておこう.


  1. タブのタイトルは「開発用PowerShell」もしくは「Developer PowerShell」となっている. ↩︎

Last updated on 2024-06-10
Published on 2024-06-10

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.