到目前为止,我一直在通过代码的首次部署来部署代码,方法是在构建过程中创建ef核心迁移脚本并将其在数据库上运行。他们看起来像这样:
IF NOT EXISTS(SELECT * FROM [__EFMigrationsHistory] WHERE [MigrationId] = N'20181106170338_Add FK To user from news')
BEGIN
UPDATE News SET News.UserId = AspNetUsers.Id FROM AspNetUsers where AspNetUsers.UserName = News.Username END;
GO
在以后的迁移中,我删除了News.Username列。从那时起,我创建了许多发行版,并且它们起作用了。现在,我收到一条错误消息,提示“用户名”列不存在。但是,即使我现在回去执行一个较旧的迁移,它仍然会在今天早上发生,但自从今天早上发生此消息后就失败了,尽管它例如在昨晚起作用。