2015-04-07 91 views
1

我正在與其他三個組成員一起工作一個學校項目。我們正在使用Microsoft Visual Studio 2013,並使用Visual Studio Online作爲版本控制。該項目與.Net MVC 5 EF6一起工作。我們的團隊有麻煩,我們無法弄清楚。無法刪除數據庫'數據庫',因爲它不存在或您沒有權限

這是我們遇到的問題。每次使用時都會抓住最新版本的控制變化,並嘗試運行帶有或不帶有調試的項目,因此我們在瀏覽器中出現錯誤:

「無法刪除數據庫'DB',因爲它不存在或您沒有權限。「

如果我們添加遷移和更新數據庫,我們可以讓它工作。但是這導致我們不得不經常遷徙並導致很多頭痛。

我們無法弄清楚我們是否有一個設置搞砸了或別的東西。我希望有人能幫助我們解決這個問題,以便我們能夠更有效地恢復工作。

此外,網站和數據庫託管在goDaddy上。

+0

我懷疑這是版本控制。你如何配置遷移?這聽起來像是每次應用程序啓動時重新創建數據庫?當您添加遷移時,它添加了哪些類型的內容? –

+0

什麼都沒有,遷移是空的。 – MilesR

+0

是的 - 配置怎麼樣? –

回答

3

我敢打賭,你有AutomaticMigrationsEnabled設置爲true,否則你的應用程序將不會試圖做任何你的數據庫,只是因爲你拉從TFS最新版本。

此外,自動遷移不會嘗試刪除數據庫,除非設置了DropCreateDatabaseWhenModelChangesDropCreateDatabaseAlways數據庫初始值設定項。檢查你的代碼。你可能有。 Here's an article。請不要在生產上有這些。

此外,你的惡棍數據庫初始化程序無法完成它的工作,因爲GoDaddy上的ASP.NET用戶可能沒有權限這麼做。

我的建議:禁用AutomaticMigrationsEnabled。您是否使用add-migrationupdate-database手動遷移? AutomaticMigrationsEnabled不是一個好習慣。它甚至正在停止EF7。這應該可以解決你的問題。

0

我不知道哪個更糟糕的是:使用GoDaddy的作爲ISP,或使用VSS/TFS版本控制:(

ANYWAY - 兩個建議:

1)使用本地工作空間(和公正當你希望同步簽入/籤更新):

https://msdn.microsoft.com/en-us/library/bb892960.aspx

2)看看VSO支持宏或腳本,以「殺死所有的」連接您同步之前的版本:

https://social.msdn.microsoft.com/Forums/en-US/b41a7376-d5cd-4339-92b3-158e88a96dff/how-can-i-kill-all-connections-of-users-to-my-sql-server-database-?forum=adodotnetentityframework

相關問題