Sql server EF核心迁移问题-更新数据并重命名列
我有这个迁移Sql server EF核心迁移问题-更新数据并重命名列,sql-server,entity-framework-core,Sql Server,Entity Framework Core,我有这个迁移 migrationBuilder.Sql("UPDATE EmailMessages SET ReceiveDATE = getutcdate() WHERE ReceiveDate IS NULL"); migrationBuilder.RenameColumn( name: "ReceiveDate", table: "EmailMessages", newName:
migrationBuilder.Sql("UPDATE EmailMessages SET ReceiveDATE = getutcdate() WHERE ReceiveDate IS NULL");
migrationBuilder.RenameColumn(
name: "ReceiveDate",
table: "EmailMessages",
newName: "Date");
migrationBuilder.AlterColumn<DateTime>(
name: "Date",
table: "EmailMessages",
nullable: false);
我检查了迁移历史记录表,这不应该执行,因为有记录。我尝试在本地运行该记录(迁移历史记录表中也有记录),但令我惊讶的是,它给出了错误
味精207,16级,状态1,第3行列名“ReceiveDate”无效 因此,这个错误似乎告诉我们,即使列未被执行,它也不存在(我甚至在
BEGIN
之后添加了PRINT语句以确认这一点)。但我可以执行整个迁移任意次数。它被组织在那些中,如果不存在的话。。。转到
批次,除上述批次外,所有批次都可以正常运行
我做错什么了吗?我是EF Core的新手
IF NOT EXISTS(SELECT * FROM [__EFMigrationsHistory] WHERE [MigrationId] = N'20200908131452_RefactorEmailDate')
BEGIN
UPDATE EmailMessages SET ReceiveDATE = getutcdate() WHERE ReceiveDate IS NULL
END;
GO