既存のDBにカラムを追加したい_ASP.NET Core MVC アプリ
migrationしちゃった後にDB設計ミスっていたことに気づき、カラムを追加したい場合。
以下に丁寧な手順が載っているが、移行の部分で微妙に引っかかったので残しておく。
データベースを削除し、移行を使ってデータベースを再作成します。 データベースを削除するには、データベース ファイル (MvcMovie.db) を削除します。 次に、
ef database update
コマンドを実行します。
データベースファイルを削除したら以下の手順にそって移行作業をする。
この時、addするmigration名に注意。すでに作成したmigration名指定すると怒られる。
$ dotnet ef migrations add InitialCreate
The name 'InitialCreate' is used by an existing migration.
当たり前だろって感じですが。違う名前に修正して実行。
$ dotnet ef migrations add AddAuthorColumn
うまくいったので続けてデータベースもupdate
$ dotnet ef database update
仕事ではASP.NET Webフォームをいつもさわっているけど、MVCのフレームワークの方が「どこに何を書く」というのが比較的整然としてて良いなあと思う。