【.Net Core MVC】npgsqlと戦った
自分の学習実績を思い出せるようにメモ
.Net Core MVC でアプリを書いている(途中、Node.jsに浮気しようとしたが辞めた。
今日やったこと
・Oauth2認証の追加(FB,Google)
・DBのきりかえ、O/R Mapperの使用
--
・Oauth2認証の追加(FB,Google)
.NET Core MVCの初期は大変だったみたいだけど、今はいろいろフレームワーク側がやってくれるので便利。
・認証の設定
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/?view=aspnetcore-2.1
・DBのきりかえ、O/R Mapperの使用
近い内にAWSなりGCPにデプロイする予定なのだが、SQL Serverを使い続けるのもあれなのでDBをPostgresに変更した。O/R Mapperを使うことにした。
・O/R Mapper
http://www.npgsql.org/efcore/index.html
ところが、マイグレーションをかけると怒られて失敗してしまった。
①Npgsql.PostgresException (0x80004005): 42P07: リレーション"AspNetRoles"はすでに存在します
②Npgsql.PostgresException (0x80004005): 42P01: リレーション"hogehoge"は存在しません
③42P07: リレーション"IX_AspNetRoleClaims_RoleId"はすでに存在します
AspNetのテーブルが作成された後でコケてしまい、hogehogeTablesが作れないみたいようだ。マイグレーションファイルがうまく作れなかったみたい。
自分の操作のせいなのか、Npgsqlのせいなのかわからない。
結局、MigrationClassからAspNet関連テーブルの実行済みのクエリを削除しながらもう一度Update-Daatabase。何回か繰り返してテーブル作成完了
--
今日の感想:
O/RMapperもっとハマると思ったけど、普通に動いてよかったー
次はフロントエンドを作り込む。
フロント側書くのめんどくさいなー