迁移尝试创建已经存在的序列
Migration tries to create sequence that already exists
我的 .net-core 2.0 应用程序的 PostgreSQL 数据库中有一个名为 table 的清单,并且刚刚在 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 是否也会使用一个名为 table 的清单,还是我在某处犯了错误?
编辑:清单 table 和序列 checklist_id_seq 不是由 Identity 添加的。他们甚至在这是一个 .net-core 项目之前就在那里(首先是 EF 数据库)。
我最近添加了迁移,初始迁移中存在 checklist_id_seq 行。
我所有的 tables 都存在于 20171018061542_InitialCreate.Designer.cs(初始迁移)和 20171019031817_identity.Designer.cs(我所做的迁移中,我想创建 Identity 使用的 table(s))
所以我想问题是如何仅使用来自 "identity" 迁移的新 table 更新数据库?
Edit2:这似乎是 EF Core 迁移的问题。参见 , and these issues: 4237 and 2167
解决方法:
将初始迁移的Up(MigrationBuilder migrationBuilder)方法全部注释掉
我的 .net-core 2.0 应用程序的 PostgreSQL 数据库中有一个名为 table 的清单,并且刚刚在 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 是否也会使用一个名为 table 的清单,还是我在某处犯了错误?
编辑:清单 table 和序列 checklist_id_seq 不是由 Identity 添加的。他们甚至在这是一个 .net-core 项目之前就在那里(首先是 EF 数据库)。
我最近添加了迁移,初始迁移中存在 checklist_id_seq 行。
我所有的 tables 都存在于 20171018061542_InitialCreate.Designer.cs(初始迁移)和 20171019031817_identity.Designer.cs(我所做的迁移中,我想创建 Identity 使用的 table(s))
所以我想问题是如何仅使用来自 "identity" 迁移的新 table 更新数据库?
Edit2:这似乎是 EF Core 迁移的问题。参见
解决方法:
将初始迁移的Up(MigrationBuilder migrationBuilder)方法全部注释掉