Jak mogę zachować synchronizację projektu bazy danych visualstudio z bazą danych?

11

Chciałbym, aby mój schemat bazy danych był zsynchronizowany z moim projektem bazy danych Visual Studio .dbproj.

Obecnie używam SSMS do większości prac związanych z tworzeniem baz danych i muszę ręcznie używać narzędzia do porównywania schematów programu Visual Studio, gdy potrzebuję synchronizacji schematu db i .dbproj. Dlaczego miałbym tego chcieć? bo :

  • To jedyny sposób na sprawdzenie zmian
  • To jedyny sposób na zastosowanie zmian
  • Niezastosowanie się do tego spowoduje pewne problemy z scalaniem podczas pobierania plików (w zasadzie, jeśli „pobierz najnowszą” zawiera pewne zmiany db na obiektach db, które aktualizowałem bez sprawdzania ich, scalenie nie zostanie uruchomione i łatwo jest to zrobić śledzić, która wersja jest która)
  • Fajnie jest móc korzystać z funkcji wyszukiwania VisualStudio w aktualnej wersji schematu
  • Fajnie jest móc modyfikować procedury składowane z VS (zwykle po zmianie nazwy pliku) za pomocą wyników wyszukiwania.

Czy oprócz sposobów automatyzacji narzędzia „porównywania schematów” co 5 minut (co nie brzmi jak „czyste” rozwiązanie), czy istnieją sposoby na osiągnięcie tego?

Chciałbym nadal korzystać z SSMS, jeśli to możliwe, ale interesują mnie również sposoby automatycznego propagowania zmian wprowadzonych za pomocą „Połączenia Eksploratora serwera / bazy danych” programu Visual Studio do .dbproj.

Brann
źródło
czy znalazłeś sposób na zsynchronizowanie projektu bazy danych z SSMS?

Odpowiedzi:

4

SQL Server Management Studio to przede wszystkim narzędzie ZARZĄDZANIA SQL Server i jako takie niekoniecznie jest zbudowane do obsługi potrzebnych scenariuszy.

Visual Studio Team System 2008 Database Edition i Visual Studio Team System 2010 Pro / Ultimate zawierają narzędzia programistów baz danych (VSDB), które pomagają osobom posiadającym duże zasoby bazy danych zintegrować schemat / widok / proces / bazę danych bazy danych. rozwój wraz z rozwojem aplikacji.

VSDB pozwala na przebudowę istniejących schematów DB w projekty Visual Studio, dzięki czemu można kontrolować źródła skryptów dla poszczególnych elementów skryptu. Można także modyfikować / tworzyć skrypty schematów SQL Server w celu utworzenia praktycznie wszystkich elementów schematu obsługiwanych przez SQL 2005/2008/2010.

VSDB obsługuje również możliwość wdrażania pełnych / częściowych aktualizacji schematu bazy danych na pustych / istniejących bazach danych, gdzie wykonuje OGROMNY wysiłek, próbując zastosować tylko zmiany niezbędne do zmodyfikowania istniejącej bazy danych (jeśli jest obecna), tak aby odzwierciedlała strukturę źródłowy projekt bazy danych VSDB.

VSDB zawiera również szereg narzędzi, które pomagają porównywać schematy między projektami DB i / lub DB, a także umożliwiają różnicowanie i scalanie zawartości tabeli.

Należy jednak pamiętać, że chociaż ten zestaw narzędzi jest obecnie obsługiwany, zespół został rozwiązany, a produkt znajduje się w trybie konserwacji. Grupa produktów SQL Server jest teraz odpowiedzialna za tworzenie narzędzi dla programistów i ciężko pracuje, aby to zrobić :)

Richard Turner
źródło
1
Jestem już użytkownikiem funkcji db 2010 VS. Ale muszę jeszcze znaleźć sposób, aby użyć go do natychmiastowej modyfikacji zarówno mojego projektu bazy danych, jak i projektu bazy danych w tym samym czasie. Uruchamianie porównywania schematów po każdej modyfikacji jest zbyt wielkim problemem ... :(
Brann
Po wczorajszym spojrzeniu na VSDB uważam twój ostatni akapit raczej za niepokojący. Wygląda na to, że nie powinienem zawracać sobie głowy inwestowaniem dużo czasu lub energii ...?
Benjol,
1

istnieją dwa sposoby, które znam dzięki najlepszym funkcjom VS2010.

  1. Użyj SSMS lub innego narzędzia do edycji schematu DB, a następnie okresowo uruchamiaj porównanie schematu (na koniec dnia), a następnie importuj wszelkie zmiany schematu do projektu DB.
  2. Edytuj pliki w projekcie DB za pomocą VS, a następnie utwórz pakiet wdrożeniowy, który działa bezpośrednio na DB lub generuje skrypt do uruchomienia w celu zaktualizowania schematu w DB.
Ryathal
źródło
Drugie rozwiązanie jest moim zdaniem najlepszym rozwiązaniem. Możesz skonfigurować proces wdrażania, który wymaga tylko jednego kliknięcia. Edycja plików w programie Visual Studio automatycznie sprawdzi je poza kontrolą źródła. Pracowałem z pierwszą metodą, ale zawsze trudno jest porównywać schematy. Dodatkowo, przynajmniej dla mnie, narzędzie do porównywania schematów bardzo często psuje Visual Studio.
Kris Harper