Správičky 2 819 Blogy 948 Fórum 18 746

Visual Studio 2008 Team System DB Tools

Lubo10 - 17. 3. 2009 13:07 - 22068 views

Synchronizácia databáz priamo vo Visual Studiu.

Pojem synchronizácia dvoch databáz je dosť častý problém. Na internete som sa obzeral dlhšiu dobu a snažil nájsť nejaký free nástroj, ale bezúspešne. Komerčných nástrojov je na trhu plno, už Spigi sa zmienil o jednom : Database Restyle Application

Už ma aj napadlo skúsiť spraviť tool, ktorý by bol schopný zosynchronizovať 2 databázy cez nejaký metamodel, len to by bolo sai fakt, že dosť časovo náročné...

Proste to neustále pamätanie vykonaných zmien medzi dvoma buildami a ručné generovanie change scriptov ma jednoducho nebavilo.

Nakoniec som sa náhodou dostal k článku o novej databázovej edícií Visual Studia GDR a problém je zrazu vyriešený. Vývojari Microsoftu sa rozhodli podporiť databázový vývoj a integrovať skvelé nástroje pre prácu s datábazami priamo do Visual Studia. A zahŕňa to aj synchronizáciu dvoch databáz.

Je však potrebné mať verziu Visual Studia  Team System 2008 Suite vo verzii SP1  !

Potom sa dá jednoducho do neho doinštalovať verzia GDR ako plugin :  Database Edition GDR (General Distribution Release)

Po úspešnej inštalácií by ste mali mať vo VS dostupnú záložku Data:

Databázové nástroje Visual Studia ponúkajú nasledovné možnosti:

  • Verziovaná správa databázových objektov a schém
  • Synchronizácia DB objektov a schém (automatické generovanie change scriptov)
  • Synchronizácia dát
  • Kvalita kódu uložených procedúr (Unit testovanie)
  • Generovanie dát (pre potreby pokročilých testov)
  • Rename Refactoring  

Viac sa môžete dočítať v skvelom článku Databázový profesionál v softvérovej podobe.

Osobne som zatiaľ testoval zatiaľ len prvé 3 časti a musím uznať, že to splnilo moje očakávania. Synchronizovať je možné komplet DB schému spolu so všetkými DB objektami (procedúry, funkcie, triggre, role atď...) ako aj samotné dáta v tabuľkách. Všetko umožňuje nástroj integrovaný do Visual Studia, ktorý na základe zvolených dvoch databáz ukáže prehľad vykonaných zmien a na základe toho vygeneruje change script (vo VS terminológií Schema Update Script).

Perfektná vec je aj uchovávanie databázy v XML súbore, jedná sa o súbor s koncovkou dbschema. Visual Studio je potom schopné  tento súbor porovnať s existujúcou databázou. Takže máme k dispozícií jednoduchú verziovanú správu databázy v tzv. metamodeli, ktorý môžeme jednoducho šíriť v SVN-ku pre potreby návratu k určitej verzii schémy datábazy.

Postup ako vygenerovať súbor .dbschema pomocou konzolovej aplikácie VSDBCMD.exe je na adrese.

Nová databázová edícia Visual Studia ponúka teda zvýšenú podporu pre databázový vývoj a rieši fakt dosť problémov. Momentálne sa chystám preveriť aj ďaľšie funkcie, ktoré ponúka. Budem rád, keď sa po prípade vyjadríte, ak Vás niečo zaujíma alebo ak ste na niečo zaujímavé prišli.


Ľuboš Borko

Článkov: 1, Správičiek: 3, Príspevkov vo fóre: 8, Príspevkov v blogu: 1, Bodov: 210
Najaktívnejší č.: 64
Profil používateľa

Reakcie

# RE: Visual Studio 2008 Team System DB Tools 17. 3. 2009 21:27:38 vlko

Pokial sa nemylim, tak Team Suite je ta najvyssia verzia Visual Studia a nic v zlom, ale za tu cenu sa uz skor oplati kupit 3rd party tool, alebo sa mylim?

# RE: Visual Studio 2008 Team System DB Tools 17. 3. 2009 21:33:04 spigi

Nie celkom, Vlko:
Prerequisites:



Microsoft® Visual Studio Team System 2008 Database Edition SP1 (English) or Microsoft® Visual Studio Team System 2008 Suite SP1 (English)

Microsoft® Visual Studio 2008 Service Pack 1



- od verzie 2010 bude Database Edition zlucena z Developer Edition.
- kto ma MSDN aspon trosku vyssie ako Professional, tak nema problem.

# RE: Visual Studio 2008 Team System DB Tools 17. 3. 2009 22:22:11 Lubo10

A hlavne do verzie 2010 sa u Databázovej edícíe počíta aj s podporou Oraclu:

http://blogs.microsoft.co.il/blogs/shair/archive/2009/03/06/oracle-support-for-visual-studio-team-edition-database-edition.aspx

http://www.teamfuze.net/beta.jspa

# RE: Visual Studio 2008 Team System DB Tools 17. 3. 2009 23:44:41 vlko

ak ma pamat neklame, tak pred prvym stiahnutim si vyberas typ edicie, tak pochybujem, ze si niekto vyberie database verziu a nie development podobne ako ja.

Minule som sa ale zamyslal a v podstate aj tak nic vyssie okrem profesional verzie v podstate nepotrebujem, mozno tak code coverage by mi chybalo, ale to len preto, ze som bol pohodlny si doinstalovat nunit:)

Pridať reakciu

Titulok:
Meno:
Url:
Koľko je 22 + 4?
(ochrana proti spamu)
Komentár:

Najaktívnejší užívatelia
1. 37810 b. photo vlko
2. 21520 b. photo T
3. 15965 b. photo spigi
4. 15450 b. photo Anonymous
5. 11120 b. photo dudok
6. 9750 b. photo Liero
7. 6920 b. photo siro
8. 6245 b. photo slavof
9. 5395 b. photo duracellko
10. 4685 b. photo xxxmatko