いそべやきはビールの夢をみる

今日もしがないえんじにあ

既存のDBにカラムを追加したい_ASP.NET Core MVC アプリ

migrationしちゃった後にDB設計ミスっていたことに気づき、カラムを追加したい場合。

以下に丁寧な手順が載っているが、移行の部分で微妙に引っかかったので残しておく。

docs.microsoft.com

データベースを削除し、移行を使ってデータベースを再作成します。 データベースを削除するには、データベース ファイル (MvcMovie.db) を削除します。 次に、ef database update コマンドを実行します。 

データベースファイルを削除したら以下の手順にそって移行作業をする。

docs.microsoft.com

この時、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フレームワークの方が「どこに何を書く」というのが比較的整然としてて良いなあと思う。