如何爲身份添加缺少的遷移? (無效的對象名稱dbo.AspNetRoles')
我已經創建了一個asp.net應用程序和我的開發機器上它創造了這些內置的表是必要使用asp.net mvc的身份的一部分。
但是,在初始創建之後,我必須創建一個SwitchToIdentityDbContext
遷移,它具有創建這些表的所有邏輯。但在我的應用程序中,這些表已經存在,所以我刪除了這個邏輯。之後(我認爲)當我嘗試將我的應用程序部署到沒有這些表的新數據源時,導致身份缺失表。
有沒有一種方法來產生缺失的遷移,以使其運行?
截至目前,我有這個在我的配置:
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
即使我刪除遷移和添加一個新的,它是空的。
也許你會錯過一個DatabaseInitilalizer for你的DbContext。例如MigrateDatabaseToLatestVersion – Helikaon
一個選項是手動刪除Visual Studio中的所有遷移'.cs'文件以及您的遷移數據庫表中的所有記錄。然後,您可以在Visual Studio中創建新的遷移,以重新創建所有內容。但是,您可能不得不徹底刪除現有數據庫,而不僅僅是遷移表。 –
我會建議Drew的選擇,或者你生成一個完整的重建腳本。如果需要,您可以註釋掉存在的對象:update-database -Script -SourceMigration $ InitialDatabase –