2013-09-21 12 views
7

Podczas tworzenia aplikacji korzystałem z automatycznych migracji EF. Tak więc teraz, kiedy wdrożyłem moją aplikację na VPS, nie wiem, jak dodać nowe tabele i pola do mojej bazy danych.Jak zaktualizować bazę danych na zdalnym serwerze ms sql (najpierw Kod EF)

Czy mogę połączyć się ze zdalną bazą danych bezpośrednio z mojego projektu w VS2012, aktualizując ciąg połączenia i aktualizując bazę danych za pomocą "bazy danych aktualizacji" w konsoli menedżera pakietów? Czy muszę zainstalować VS na moim VPS i zaktualizować bazę danych z VPS?

Moja baza danych jest już wypełniona danymi, więc nie mogę jej usunąć i utworzyć ponownie.

Odpowiedz

14

Tak, możesz użyć Visual Studio, postępuj zgodnie z this tutorial - to powinno działać również dla VS 2012.
Można również użyć Code first Migration aktualizować swój model przy użyciu tej komendy w opakowaniu konsoli Manager:

Update-Database 

i można określić, czy połączenie nazwy wyrażenie:

Update-Database -ConnectionStringName "MyConnectionString" 
+0

dziękuję! Mam trudności ze zdalnym dostępem do serwera. Czy mogę użyć "Update-Database -Script", a następnie ręcznie uruchomić skrypt na serwerze sql? –

+1

[this link] (http://robertgreiner.com/2012/05/using-entity-framework-database-migrations-to-update-a-remote-database/) może być pomocne. –

+0

Uważaj, ponieważ w ten sposób " nie uruchamiasz swojego Seeda. –

2

Najlepiej to wytłumaczyć w linku poniżej. Przeczytaj sekcję "Uzyskiwanie skryptu SQL". To wyjaśni, jak wygenerować skrypt, który następnie można uruchomić na docelowej bazie danych.

Będzie to konieczne, jeśli Twój dostęp do bazy danych jest na przykład zabezpieczony IP.

https://msdn.microsoft.com/en-us/data/jj591621.aspx

+0

Podsumowanie łącza: użyj tej linii przy uruchomieniu aplikacji:' Database.SetInitializer ( nowa MigrateDatabaseToLatestVersion ()); ' – FindOutIslamNow

Powiązane problemy