Tento článek je návodem, jak používat možnost pracovní složky ovládacího prvku zdroje pro správu databází SQL Server.
V tomto článku také zdůrazňuji některé výhody a omezení používání pracovní složky ve srovnání s jinými dostupnými možnostmi pro použití s ovládáním zdroje.
Než se ponoříme do technických podrobností tohoto článku, proberme některé klíčové koncepty.
Klíčové pojmy
Co je ovládání zdroje
Správa zdroje je systém nebo (součást osvědčeného softwaru) postup, který sleduje všechny změny v kódu provedené vývojáři.
Proč je potřeba ovládání zdroje
Kód aplikace napsaný vývojáři je třeba čas od času uložit tak, aby bylo možné všechny změny provedené kterýmkoli vývojářem nejen zpětně dohledat, ale v případě potřeby je také vrátit.
Z tohoto důvodu je kód aplikace umístěn pod kontrolu zdroje, aby bylo zajištěno, že historie všech změn spolu s komentáři je dobře uchovávána, plus existuje mnoho dalších výhod používání kontroly zdroje, které jsou nad rámec tohoto článku.
Kontrola zdroje versus kontrola verzí
Mezi Source Control a Version Control není žádný rozdíl a většinou se tyto dva termíny používají volně zaměnitelně.
Dáváme databáze pod kontrolu zdroje
Stejně jako kód aplikace musí být databázové objekty, jako jsou tabulky, pohledy, uložené procedury atd., také řízeny verzí. Metoda umístění databázových objektů pod kontrolu zdroje je však mírně a v některých případech zcela odlišná od toho, když je kód aplikace umístěn pod kontrolu zdroje.
Příklad databáze řízení verzí
Předpokládejme, že vytvoříte vzorovou databázi nazvanou „Auta“ podle obchodních požadavků.
Poté vytvoříte tabulku s názvem „Car“ s CarId a CarName sloupců, abyste splnili další požadavek.
Ve vaší nepřítomnosti je jinému vývojáři přidělen úkol přidat CarType sloupec do tabulky „Auto“.
Rozhodne se odstranit CarName sloupec si myslí, že není vyžadován, a nahraďte jej CarType sloupec.
Vracíte se po dlouhé době a jste překvapeni, že vaše CarName sloupec nejenže chybí, ale je také nahrazen CarType sloupec.
Nyní si nepamatujete původní typ dat a délku, kterou jste vybrali pro CarName pokud neprojdete celým souborem obchodních požadavků.
Počkej chvíli! Tento problém lze snadno vyřešit, pokud jste nejprve uvažovali o použití řízení zdroje pro vaši databázi. Pak můžete snadno vidět vůbec první změnu, kterou jste provedli, která obsahuje definici sloupce, a poté druhou změnu provedenou jiným vývojářem.
Takže vy a další vývojář sedíte spolu a procházíte historické změny provedené v databázi (objektu) pomocí ovládání zdroje, které sleduje každou jednotlivou změnu provedenou kterýmkoli vývojářem v databázi.
To je znázorněno následovně:
Nejdůležitější použití ovládání zdroje
Jedním z hlavních důvodů, proč používat ovládání zdroje, je možnost udržovat více verzí kódu současně vytvořením následujících větví kódu:
- Vývoj (vývojová větev)
- Test (Testovací větev)
- QA (pobočka QA)
- Prod (Výrobní odvětví)
Technické detaily vytváření větví Dev, Test, QA a Production z kontroly zdroje jsou nad rámec tohoto článku.
Předpoklady
Tento článek je nejvhodnější pro čtenáře, kteří splňují následující požadavky:
Základní znalost T-SQL
K vytváření, dotazování a úpravě databázových objektů, jako jsou tabulky, pohledy a uložené procedury, musíte mít určité základní znalosti T-SQL.
Nástroje pro vývoj databáze
Abyste mohli vytvářet a spravovat databáze a jejich objekty, musíte mít na svém počítači nainstalované SSMS (SQL Server Management Studio) nebo dbForge Studio pro SQL Server.
Dostupnost zdroje dat pracovní složky
Ačkoli je jakýkoli ovládací prvek zdroje, který nabízí možnost pracovní složky, v pořádku, doporučuje se použít dbForge Source Control, abyste dodrželi všechny kroky návodu v tomto článku.
Ovládání zdroje pracovních složek
Pracovní složku s omezenou funkčností pro databázové objekty správy verzí lze použít stejně jako jiné systémy pro správu zdrojů, jako je TFS, Git atd.
Pracovní složka jednoduše obsahuje soubory SQL skriptu používané k vytváření a správě databázových objektů.
Kdy použít pracovní složku
Předpokládejme, že chcete vytvořit databázi a její související objekty od začátku, ale zatím si nejste jisti, který ovládací prvek zdroje bude váš tým nakonec používat. Pak je lepší začít s možností ovládání zdroje pracovní složky.
Dalším důvodem může být situace, kdy si jednoduše chcete uložit aktuální stav databáze a nemáte zájem sledovat historické změny, pak je pracovní složka dobrým kandidátem pro použití jako ovládací prvek zdroje.
Omezení pracovní složky
Pracovní složka k databázovým objektům správy verzí je omezena z hlediska zachování nejnovější verze databáze a jejích objektů a neexistuje způsob, jak zpětně vysledovat změny nebo je vrátit.
Při používání pracovní složky jako možnosti ovládání zdroje tedy musíte být opatrní, protože vám čas od času nemůže zobrazit všechny změny provedené v databázi a jejích objektech.
Návod:Propojení databáze s pracovní složkou
Pojďme si projít kroky k propojení vaší databáze s pracovní složkou pomocí ovládání zdroje.
Požadavky na přidání knihy a BookType
Obdrželi jste interní požadavky na vytvoření testovací databáze s názvem „SQLBookShopV2“, která obsahuje následující dvě tabulky:
- Rezervujte
- Knihový typ
Databáze v tomto okamžiku nutně nevyžaduje kontrolu zdroje a není důležité sledovat všechny provedené změny.
Zkontrolujte požadavky
Často je dobrým zvykem před použitím pracovní složky znovu zkontrolovat požadavky. Pracovní složka je nejvhodnější, pokud jste požádáni o vytvoření databáze s následujícími požadavky:
- Je vyžadována testovací databáze nebo prototyp databáze
- Historie změn databáze není povinná
- Rozhodnutí, který ovládací prvek zdroje bude nakonec použit, ještě není rozhodnuto
Nastavení pracovní složky
Prvním krokem je vyčlenit složku, ve které budou umístěny skripty testovací databáze poté, co začnete kontrolovat kód databáze do pracovní složky.
Vytvořte novou složku s názvem „SQLBookShopV2 Scripts“ na disku C.
Nastavení ukázkové databáze SQLBookShopV2
Otevřete dbForge Studio pro SQL Server a v nabídce Databáze klikněte na „Nová databáze“:
Do názvu databáze zadejte „SQLBookShopV2“ a klikněte na tlačítko „Použít změny“ ve spodní části okna:
Propojit databázi s pracovní složkou
Je lepší propojit databázi s ovládacím prvkem zdroje hned po jeho vytvoření.
Klikněte pravým tlačítkem na databázi (SQLBookShopV2) a vyberte položku nabídky Source Control à Link Database to Source Control:
Vyhledejte pracovní složku vytvořenou dříve a propojte ji s databází:
Můžete si vybrat požadovaný model vývoje databáze. Vybíráme model vývoje sdílené databáze:
Zkontrolujte malou ikonu ovládacího prvku zdroje vedle databáze, která potvrzuje, že databáze byla úspěšně propojena s ovládacím prvkem zdroje pracovní složky:
Vytvořit tabulku knih
Klikněte pravým tlačítkem na Tabulky a poté klikněte na Nová tabulka a vytvořte tabulku knihy pomocí následujícího kódu a použijte změny:
VYTVOŘIT TABULKU SQLBookShopV2.dbo.Book ( BookId INT IDENTITY ,BookTitle VARCHAR(50) NOT NULL ,Notes VARCHAR(200) ,CONSTRAINT PK_Book_BookId PRIMÁRNÍ KLÍČ CLUSTERED (BookId))GO
Potvrdit změny kódu databáze
Vzhledem k tomu, že jsme v databázi vytvořili novou tabulku, musí tyto místní změny převzít ovládací prvek zdroje, aby se uložily.
Otevřete Správce řízení zdrojů (který zobrazuje nejnovější změny k uložení) kliknutím pravým tlačítkem na databázi a poté kliknutím na Zdroj à Zobrazit Správce řízení zdrojů
Klikněte na Potvrdit pro kontrolu zdroje v pracovní složce:
Kontrola pracovní složky
Přejděte do své pracovní složky a prohlédněte si objekt tabulky, který je tam uložen jako výsledek posledního odevzdání:
Vytvořit tabulku BookType
Vytvořte další tabulku BookType pomocí následujícího kódu:
VYTVOŘIT TABULKU SQLBookShopV2.dbo.BooKType ( BookTypeId INT IDENTITY ,Název VARCHAR(50) NULL ,Detail VARCHAR(200) NULL ,CONSTRAINT PK_BookType_BookTypeId PRIMARY KEYTypeISTEREDBook PRIMARY KEY CLUSTER>
Přidat tabulku do ovládání zdroje
Přidejte nově vytvořenou tabulku do ovládacího prvku zdroje pomocí stejné metody, jaká byla zmíněna dříve, a poté zkontrolujte pracovní složku, abyste viděli, že tam jsou obě tabulky:
Gratulujeme! Úspěšně jste propojili svou databázi se zdrojovým ovládacím prvkem pracovní složky.
Bezpečnostní opatření týkající se pracovní složky
Pamatujte, prosím, že pracovní složka ve své čisté podobě je ovládací prvek zdroje jako běžná složka Windows a pokud bude externě upraven, nebude si již pamatovat svůj nejnovější stav.
Pokud například odstraníme kód Book.sql z pracovní složky a poté zkontrolujeme případné změny pomocí Správce řízení zdrojů, museli bychom znovu přidat kód tabulky Book do pracovní složky.
Odpovědnost za zabezpečení pracovní složky leží spíše na bedrech vývojářů než na zdrojovém kódu (v jeho původní podobě), pokud striktně nedodržíte řešení, které se ukázalo jako úspěšné.
Co dělat
Nyní můžete snadno umístit své databázové objekty pomocí možnosti ovládání zdroje Working Folder:
- Zkuste prosím vytvořit další databázi propojením Knihy tabulka s BookType tabulky takovým způsobem, že BookTypeId primární klíč BookType tabulka je předána jako BookTypeId cizí klíč v Knize tabulky po použití ovládacího prvku zdroje pracovní složky.
- Zkuste vytvořit uloženou proceduru s názvem AddBook přidat novou knihu do Knihy tabulky po propojení databáze s ovládacím prvkem zdroje pracovní složky.
- Zkuste vytvořit databázové zobrazení Knihy zobrazit seznam všech knih s jejich typy a zkontrolovat všechny změny ve zdrojovém ovládacím prvku Pracovní složka.
Další čtení:
Sledování změn databáze pomocí ovládání zdroje pracovních složek
Užitečný nástroj:
dbForge Source Control – výkonný doplněk SSMS pro správu změn databáze SQL Server v ovládání zdroje.