2015-02-06 90 views
0

我使用實體框架代碼優先使用asp.net MVC創建網站。它以前在Windows Azure上工作過,該網站已公開發布。無法用數據填充天青數據庫。網頁連接到數據庫,但不想創建表格

由於某種原因,我刪除了用於存儲我的網頁數據的數據庫。 I 創建了一個新的,與前一個類似。我點擊「發佈」,在「設置」中有地方鍵入關於數據庫的數據,在「目標連接字符串」窗口中,我鍵入所有需要的數據並點擊「測試連接「 - 一切似乎是罰款)

我發表我的網站,該網站工作正常,但是當我去到網頁,會從數據庫中的數據看到此錯誤:

Invalid object name 'dbo.AspNetUsers'.

在Visual Studio中的」 SQL Server資源管理器「我可以看到我的數據庫中有什麼。實際上,裏面沒有什麼(有一個表:「__MigrationHistory」,因爲我懷疑這是默認創建的)。

如何再次生成所有這些表格?它應該自動生成數據庫結構。

PS:我偶然從項目中刪除了「遷移」,你認爲這是原因嗎?

這不是我的項目責備,它可以在我的計算機上的本地主機上正常工作,當我刪除localDB時,它會生成一個沒有任何問題的新項目。

回答

0

是的,你需要遷移。但是您可以隨時重新創建它們(當然,如果您將它們全部刪除,它將包含您之前所有遷移的初始遷移)。

要快速修復,您可以在服務器上備份和恢復數據庫。如果你需要重新創建遷移做到以下幾點:

  1. 所有的數據備份
  2. 刪除整個數據庫(本地和遠程),從代碼中刪除所有遷移。
  3. 創建數據庫(本地和遠程)。
  4. 從PM控制檯運行「add-migration Initial」命令
  5. 從PM控制檯運行「update-database」。
  6. 將您的代碼重新上傳到服務器。如果數據庫爲空,則應自動應用新的初始遷移。
+1

謝謝。你是我的英雄;) – Piotrek 2015-02-06 18:17:57

+0

我以前試過這個,但是我做錯了什麼,是刪除localdb後我打開我的網站,然後運行「add-migration Initial」。遷移是空的。現在我看到,遷移應該在創建數據庫之前運行 – Piotrek 2015-02-06 18:19:39