sql >> Database >  >> RDS >> Database

Werkmap gebruiken voor bronbeheerdatabase

In dit artikel wordt uitgelegd hoe u de werkmapoptie van bronbeheer kunt gebruiken voor het beheren van SQL Server-databases.

In dit artikel benadruk ik ook enkele voordelen en beperkingen van het gebruik van een werkmap in vergelijking met andere beschikbare opties voor bronbeheer.

Laten we enkele belangrijke concepten bespreken voordat we ingaan op de technische details van dit artikel.

Belangrijkste concepten

Wat is bronbeheer

Bronbeheer is een systeem of (onderdeel van software best practice) dat alle wijzigingen in de code door ontwikkelaars bijhoudt.

Waarom bronbeheer nodig is

De applicatiecode die door de ontwikkelaars is geschreven, moet van tijd tot tijd worden opgeslagen op een zodanige manier dat alle wijzigingen die door een ontwikkelaar zijn aangebracht, niet alleen kunnen worden getraceerd, maar indien nodig ook ongedaan kunnen worden gemaakt.

Om deze reden wordt de applicatiecode onder bronbeheer geplaatst om ervoor te zorgen dat de geschiedenis van alle wijzigingen samen met opmerkingen goed wordt bijgehouden, plus er zijn vele andere voordelen van het gebruik van broncodebeheer, die buiten het bestek van dit artikel vallen.

Bronbeheer versus versiebeheer

Er is geen verschil tussen Bronbeheer en Versiebeheer en meestal worden deze twee termen vrijelijk door elkaar gebruikt.

Zetten we databases onder broncontrole

Net als applicatiecode moeten ook de database-objecten zoals tabellen, views, opgeslagen procedures enz. versiebeheerd zijn. De methode om database-objecten onder bronbeheer te plaatsen is echter enigszins en in sommige gevallen geheel anders dan wanneer toepassingscode onder bronbeheer wordt geplaatst.

Voorbeeld van versiebeheerdatabase

Stel dat u een voorbeelddatabase aanmaakt met de naam 'Auto's' volgens de zakelijke vereisten.

Vervolgens maakt u een tabel met de naam "Car" met de CarId en Naam auto kolommen om aan een andere eis te voldoen.

Bij uw afwezigheid krijgt een andere ontwikkelaar een taak toegewezen om het CarType . toe te voegen kolom naar de tabel "Auto".

Hij besluit de CarName . te verwijderen kolom denken dat het niet nodig is en vervangen door het CarType kolom.

U komt na een lange tijd terug en bent verrast om te zien dat uw CarName kolom ontbreekt niet alleen maar is ook vervangen door het CarType kolom.

Nu weet je het oorspronkelijke gegevenstype en de lengte niet meer die je hebt gekozen voor CarName tenzij u de hele reeks zakelijke vereisten doorloopt.

Wacht even! Dit probleem kan eenvoudig worden opgelost als u in de eerste plaats hebt overwogen bronbeheer voor uw database te gebruiken. Dan kun je gemakkelijk de eerste wijziging zien die je ooit hebt gemaakt, die de kolomdefinitie bevat en vervolgens de tweede wijziging die door een andere ontwikkelaar is aangebracht.

Dus jij en de andere ontwikkelaar zitten samen en nemen de historische wijzigingen door die in de database (object) zijn aangebracht met behulp van broncodebeheer dat elke afzonderlijke wijziging bijhoudt die door een ontwikkelaar in de database is aangebracht.

Dit wordt als volgt geïllustreerd:

Belangrijkste gebruik van bronbeheer

Een van de belangrijkste redenen om bronbeheer te gebruiken, is om meerdere versies van de code tegelijkertijd te kunnen onderhouden door de volgende vertakkingen van de code te maken:

  1. Dev (Ontwikkelingstak)
  2. Test (Test-tak)
  3. QA (QA-filiaal)
  4. Prod (productietak)

De technische details van het maken van Dev-, Test-, QA- en Production-takken vanuit bronbeheer vallen buiten het bestek van dit artikel.

Vereisten

Dit artikel is het meest geschikt voor lezers die aan de volgende vereisten voldoen:

Basiskennis van T-SQL

U moet enige basiskennis van T-SQL hebben om database-objecten zoals tabellen, views en opgeslagen procedures te maken, opvragen en wijzigen.

Database-ontwikkelingstools

U moet SSMS (SQL Server Management Studio) of dbForge Studio voor SQL Server op uw computer hebben geïnstalleerd om databases en hun objecten te kunnen maken en beheren.

Beschikbaarheid werkmap gegevensbron

Hoewel elk bronbeheer dat de werkmapoptie biedt prima is, wordt het aanbevolen om dbForge Bronbeheer te gebruiken om alle stappen van de walkthrough in dit artikel te volgen.

Broncontrole werkmap

Werkmap met beperkte functionaliteit om database-objecten voor versiebeheer te gebruiken, kan net als andere broncontrolesystemen zoals TFS, Git enz. worden gebruikt.

Een werkmap bevat alleen SQL-scriptbestanden die worden gebruikt om databaseobjecten te maken en te beheren.

Wanneer werkmap gebruiken

Stel dat u een database en de bijbehorende objecten helemaal opnieuw wilt maken, maar nog niet zeker weet welk bronbeheer uw team uiteindelijk gaat gebruiken. Dan is het beter om te beginnen met de bronbeheeroptie voor de werkmap.

Een andere reden kan zijn dat wanneer u gewoon de huidige staat van de database wilt opslaan en niet geïnteresseerd bent om de historische wijzigingen bij te houden, de werkmap een goede kandidaat is om als broncontrole te worden gebruikt.

Beperking werkmap

Werkmap voor database-objecten voor versiebeheer is beperkt in termen van het behouden van de meest recente versie van de database en zijn objecten en er is geen manier om de wijzigingen te traceren of terug te draaien.

U moet dus voorzichtig zijn wanneer u Working Folder gebruikt als uw broncontroleoptie, omdat deze u niet alle wijzigingen kan tonen die van tijd tot tijd in de database en zijn objecten zijn aangebracht.

Walkthrough:Database koppelen aan werkmap

Laten we de stappen doorlopen om uw database te koppelen aan een werkmap met behulp van bronbeheer.

Vereisten om boek en boektype toe te voegen

U heeft interne vereisten ontvangen om een ​​testdatabase met de naam "SQLBookShopV2" te maken die de volgende twee tabellen bevat:

  1. Boek
  2. BoekType

De database vereist op dit moment niet noodzakelijk een broncontrole en het is niet belangrijk om alle gemaakte wijzigingen bij te houden.

Controleer de vereisten

Het is vaak een goede gewoonte om de vereisten te controleren voordat u een werkmap gebruikt. Een werkmap is het meest geschikt als u wordt gevraagd een database aan te maken met de volgende vereisten:

  1. Testdatabase of database-prototype is vereist
  2. Geschiedenis van databasewijziging(en) is niet verplicht
  3. De beslissing welke broncontrole uiteindelijk zal worden gebruikt, is nog niet beslist

Werkmap instellen

De eerste stap is om een ​​map opzij te zetten waar uw testdatabasescripts zich zullen bevinden nadat u uw databasecode in de werkmap hebt gecontroleerd.

Maak een nieuwe map met de naam "SQLBookShopV2 Scripts" onder C Drive.

SQLBookShopV2 voorbeelddatabase instellen

Open dbForge Studio voor SQL Server en klik in het databasemenu op "Nieuwe database":

Typ "SQLBookShopV2" in de naam van de database en klik op de knop "Wijzigingen toepassen" onderaan het venster:

Link database aan werkmap

Het is beter om de database direct na het aanmaken aan het bronbeheer te koppelen.

Klik met de rechtermuisknop op de database (SQLBookShopV2) en selecteer Source Control à Link Database to Source Control menu-item:

Zoek de eerder gemaakte werkmap om deze aan de database te koppelen:

U kunt uw gewenste database-ontwikkelingsmodel kiezen. We kiezen voor het gedeelde database-ontwikkelingsmodel:

Controleer het kleine bronbeheerpictogram naast de database dat bevestigt dat de database met succes is gekoppeld aan het bronbeheer van de werkmap:

Boekentabel maken

Klik met de rechtermuisknop op Tabellen en klik vervolgens op Nieuwe tabel en maak een boektabel met behulp van de volgende code en pas de wijzigingen toe:

CREATE TABLE SQLBookShopV2.dbo.Book (
  BookId INT IDENTITY
 ,BookTitle VARCHAR(50) NOT NULL
 ,Notes VARCHAR(200)
 ,CONSTRAINT PK_Book_BookId PRIMARY KEY CLUSTERED (BookId)
)
GO

Wijzigingen databasecode doorvoeren

Aangezien we een nieuwe tabel in de database hebben gemaakt, moeten deze lokale wijzigingen worden opgepikt door bronbeheer om te worden opgeslagen.

Open Source Control Manager (die de laatste wijzigingen toont die moeten worden opgeslagen) door met de rechtermuisknop op de database te klikken en vervolgens op Bron te klikken à Bronbeheerbeheer tonen

Klik op Toeleggen om in te checken in het bronbeheer van de werkmap:

Werkmap controleren

Ga naar je werkmap en bekijk het tabelobject dat daar is opgeslagen als resultaat van de laatste vastlegging:

Maak BookType-tabel

Maak een andere tabel BookType met de volgende code:

CREATE TABLE SQLBookShopV2.dbo.BooKType (
  BookTypeId INT IDENTITY
 ,Name VARCHAR(50) NULL
 ,Detail VARCHAR(200) NULL
 ,CONSTRAINT PK_BooKType_BookTypeId PRIMARY KEY CLUSTERED (BookTypeId)
)
GO

Tabel toevoegen aan bronbeheer

Voeg de nieuw gemaakte tabel toe aan het bronbeheer met dezelfde methode als eerder vermeld en controleer vervolgens de werkmap om te zien of beide tabellen aanwezig zijn:

Gefeliciteerd! U heeft uw database succesvol gekoppeld aan het bronbeheer van de werkmap.

Voorzorgsmaatregelen voor werkmap

Onthoud een werkmap in zijn pure vorm, aangezien een bronbesturingselement net een gewone Windows-map is en als het extern wordt gewijzigd, kan het de laatste status niet meer onthouden.

Als we bijvoorbeeld de Book.sql-code uit de werkmap verwijderen en vervolgens controleren op eventuele wijzigingen met behulp van Source Control Manager, moeten we de boektabelcode opnieuw toevoegen aan de werkmap.

De verantwoordelijkheid voor het beveiligen van de werkmap ligt op de schouders van de ontwikkelaars en niet op de broncode (in de oorspronkelijke vorm), tenzij u de tijdelijke oplossing strikt opvolgt die succesvol is gebleken.

Dingen om te doen

U kunt nu eenvoudig uw database-objecten plaatsen met behulp van de bronbeheeroptie Werkmap:

  1. Probeer een andere database te maken door het Boek . te linken tabel met het BookType tabel zodanig dat de BookTypeId primaire sleutel van het BookType tabel wordt doorgegeven als de BookTypeId kolom buitenlandse sleutel in het Boek tabel na gebruik van bronbeheer voor werkmap.
  2. Probeer een opgeslagen procedure te maken met de naam AddBook om een ​​nieuw boek toe te voegen aan het Boek tabel na het koppelen van uw database met bronbeheer van de werkmap.
  3. Probeer een databaseweergave te maken Boeken om de lijst van alle boeken met hun typen te zien en alle wijzigingen in het bronbeheer van de werkmap te controleren.

Verder lezen:

Databasewijzigingen bijhouden met behulp van bronbeheer voor werkmappen

Handig hulpmiddel:

dbForge Source Control – krachtige SSMS-invoegtoepassing voor het beheren van SQL Server-databasewijzigingen in bronbeheer.


  1. SQL Server DATEPART() vs DATENAME() - Wat is het verschil?

  2. Basisklasse en afgeleide objectvarianten

  3. Spotlight Tuning Pack Basic:de beste gratis SQL-optimalisatietool

  4. Oracle PLSQL-blokstructuur en -typen