我的.net-core 2.0应用程序的PostgreSQL数据库中有一个名为checklist的表,并且刚刚在this doc之后添加了Identity Core。 之后,我跑了:
dotnet ef migrations add identity
dotnet ef database update
更新导致此错误:
Applying migration '20171018061542_InitialCreate'.
fail: Microsoft.EntityFrameworkCore.Database.Command[200102]
Failed executing DbCommand (2ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
CREATE SEQUENCE "checklist_id_seq" START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;
Npgsql.PostgresException (0x80004005): 42P07: relation "checklist_id_seq" already exists
Identity Core是否也会使用名为checklist的表,或者我在某处犯了错误?
编辑:Identity未添加核对表表和序列checklist_id_seq。他们甚至在此之前就是一个.net核心项目(首先是EF数据库) 我最近添加了迁移,并且在初始迁移中存在checklist_id_seq的行。 我的所有表都存在于20171018061542_InitialCreate.Designer.cs(初始迁移)和20171019031817_identity.Designer.cs(我做的迁移,我想创建Identity使用的表)
所以我想问题是如何使用“身份”迁移中的新表来更新数据库?
Edit2 :似乎这是EF Core Migrations的问题。请参阅this SO question以及这些问题:4237和2167
答案 0 :(得分:2)
解决方法:
在初始迁移的Up(MigrationBuilder migrationBuilder)方法中注释掉所有内容。