publishing database changes sql server using microsoft tfs
In deze zelfstudie wordt in detail uitgelegd hoe u een SQL Server-databaseproject in TFS maakt en een project deelt met de Microsoft TFS-repository:
In de DevOps-serie zijn tutorials gepubliceerd op @ DevOps-zelfstudie hebben we onderzoek gedaan naar continue integratie en automatisering van continue levering voor Java en .Net voor on-premise en cloudimplementaties van de applicaties.
De tools die we hebben behandeld, zijn onder meer Microsoft VSTS met Azure, Amazon Web Services en Ansible. De serie concentreerde zich op wijzigingen in de broncode en hoe effectief deze snel werd geïmplementeerd in verschillende omgevingen. Maar als we het hebben over de ontwikkeling van een applicatie op drie niveaus, zou de database er ook bij betrokken zijn en zullen we dezelfde technieken moeten toepassen op database-gerelateerde wijzigingen.
Wat je leert:
Microsoft Team Foundation Server 2015 en SQL Server 2014
Dit artikel gaat in op gebieden zoals het gebruik van Visual Studio 2015 voor ontwikkeling, het maken van SQL Server Database Projecten met databasedefinities, het creëren van een builddefinitie om de wijzigingen naar SQL Server te publiceren, enz. Met behulp van Microsoft Team Foundation Server 2015 en SQL Server 2014.
Dus uiteindelijk moeten we ook databasescripts en de wijzigingen ervan effectief beheren.
Maak een SQL Server-databaseproject in TFS
Laten we beginnen met het maken van het databaseproject in Visual Studio. Start Visual Studio 2015 en maak het databaseproject zoals weergegeven in de onderstaande afbeelding met Bestand-> Nieuw -> Project Voer een naam in en klik op OK.
hoe apk-bestanden op Android te vinden
Voeg een nieuwe map toe en noem deze Tabellen. Deze map bevat al onze SQL-bestanden. Klik met de rechtermuisknop op het project en selecteer Toevoegen-> Nieuwe map.
De gemaakte map wordt weergegeven in Solution Explorer. Voeg hier een nieuwe tabel toe en definieer de gewenste kolommen.
Klik met de rechtermuisknop op de map van de tabel en selecteer Toevoegen-> Tabel zoals weergegeven in de onderstaande afbeelding.
Enter Naam zoals Werknemer met optie Tabel geselecteerd. Klik op Toevoegen.
Voeg een paar kolommen toe zoals weergegeven in de ontwerpweergave.
Als u bestaande SQL-bestanden heeft, kunt u deze ook importeren door met de rechtermuisknop op het databaseproject te klikken en te selecteren Script importeren (* .SQL)
Evenzo Toevoegen -> Opgeslagen procedure in een map zoals hieronder weergegeven.
De uiteindelijke structuur zoals weergegeven in het databaseproject ziet eruit als de onderstaande afbeelding.
Dus normaal gesproken zullen we voor elke release en als ontwikkelaar wijzigingen aanbrengen in de tabellen of opgeslagen procedures en Visual Studio zal ervoor zorgen dat de scripts correct worden gewijzigd om ervoor te zorgen dat de database-wijzigingen synchroon lopen met de scripts. We moeten deze wijzigingen publiceren of de wijzigingen continu op een geautomatiseerde manier implementeren in de SQL Server-database.
Om dit te doen, publiceert u het profielbestand, dat een XML-bestand is, en het bevat alle informatie zoals databasenaam, verbindingsreeks, enz. Die nodig is voor implementatie op de SQL Server.
Zodra het XML-bestand beschikbaar is, gebruiken we de Microsoft TFS-builddefinitie om de wijzigingen automatisch naar de SQL Server-database te publiceren, hetzij op basis van elke check-in, hetzij volgens een schema.
In de SQL Server-installatie hebben we een leeg database, bijvoorbeeld, Werknemer die we zullen gebruiken voor Publiceren.
Maak nu het publicatieprofielbestand met Visual Studio. Klik met de rechtermuisknop op het databaseproject en selecteer Publiceren.
Bewerk en selecteer de verbinding met de Medewerkerdatabase in de SQL Server.
Klik op de knop Profiel opslaan als om het profiel in het project op te slaan. U kunt een bestand zien met de naam Employee.publish.xml is gecreëerd. U kunt de wijzigingen ook handmatig implementeren door op de knop Publiceren te klikken, maar hier gaan we de te publiceren wijzigingen automatiseren.
Selecteer de annuleren optie voor nu nadat het profiel is opgeslagen.
Open het bestand in een XML-editor en je zou de database en verbindingsreeksen kunnen zien. Voeg handmatig een sleutel toe voor Wachtwoord en vermeld het wachtwoord voor het opgegeven gebruikers-ID. Dit is nodig om verbinding te maken met de SQL Server-database.
Omdat het wachtwoord gemakkelijk toegankelijk is, zullen we zien hoe hetzelfde in de build-definitie kan worden gemaskeerd met behulp van de plug-in Replace Token.
Zorg er ook voor dat u de juiste versie van SQL Server selecteert die voor dit databaseproject moet worden gebruikt, anders zullen de gepubliceerde gegevens fouten bevatten. Klik met de rechtermuisknop op het databaseproject (Medewerker) en selecteer Eigendommen Selecteer de juiste versie en in dit geval is dit de 2014-versie. Opslaan (Ctrl + S) de wijzigingen, eenmaal gedaan.
Selecteer SQL Server 2014 als doelplatform en sla de oplossing op.
Om het project in een TFS Build Definition te gebruiken, moeten we het project delen met de TFS-repository. Klik met de rechtermuisknop op de oplossing en selecteer Voeg oplossing toe aan bronbeheer. Ga naar het Team Explorer -> In afwachting van wijzigingen en Check in de oplossing.
Het project zou nu beschikbaar moeten zijn in TFS.
Maak een builddefinitie om publiceren te automatiseren
We hebben nu het databaseproject ingecheckt in TFS en elke wijziging die door de ontwikkelaar aan de tabel of opgeslagen procedures is aangebracht, wordt automatisch naar SQL Server gepubliceerd zonder enige handmatige tussenkomst met behulp van Build Definition, hetzij bij elke check-in of op basis van een schema .
Wijzig eerst het publicatie-XML-bestand om een token voor de wachtwoordsleutel toe te voegen, zoals hieronder wordt weergegeven. Check alle aangebrachte wijzigingen in.
Ga in TFS naar de Build HUB en maak een lege build-definitie.
Voeg in de Build-definitie eerst het Vervang Tokens stap en configureer zoals weergegeven in de onderstaande afbeelding, aangezien de wachtwoordvariabele moet worden gemaskeerd. Als u de plug-in voor Replace Tokens moet downloaden, kunt u deze downloaden en installeren voor Microsoft TFS 2015 vanaf GitHub-vervang-tokens
Ga naar het tabblad Variabelen en voeg de variabele toe zoals in het XML-bestand voor publiceren, d.w.z. DBPWD met een waarde van het wachtwoord voor de naar gebruikersnaam. Klik op de slot pictogram en selecteer het selectievakje voor Toestaan op wachttijd. Sla de build-definitie op.
Voeg vervolgens een Visual Studio Build-stap toe. Selecteer de Visual Studio-oplossing en voer het MS Build Argumenten zoals weergegeven in de onderstaande afbeelding om de wijzigingen op te bouwen en te publiceren.
/ t: build / t: publiceer /p:SqlPublishProfilePath=Employee.publish.xml
Wachtrij of activeer de build en controleer op wijzigingen die in SQL Server zijn gepubliceerd. Voor het Build-proces zou een Agent nodig zijn om te draaien op de computer waarop SQL Server is geïnstalleerd.
Aanbevolen literatuur over het installeren en configureren van agents voor Microsoft TFS 2015 @ Microsoft-TFS-2015
Open SQL Server 2014 Management Studio, klik met de rechtermuisknop op de database, voer een query uit op de database en zoek naar de wijzigingen die zijn gepubliceerd na de build die is uitgevoerd.
Zoals we kunnen zien, worden de tabellen en opgeslagen procedures voor het eerst gepubliceerd via een geautomatiseerd bouwproces in TFS. Om het continue integratie- en geautomatiseerde publicatieproces in de database te laten zien, laten we een wijziging in de tabel aanbrengen en de build opnieuw uitvoeren.
streamen met VPN
In de tabel hebben we nog een kolom toegevoegd.
Zet de build opnieuw in de wachtrij en controleer of de wijzigingen zijn gepubliceerd of niet. De kolom Land is nu aan de tabel toegevoegd. Raadpleeg de onderstaande afbeelding.
Als u de Database, Tabellen, etc. vanuit Visual Studio zelf wilt bekijken, ga dan naar Beeld-> SQL Server Object Explorer om door de database te bladeren die een SQL Server-achtige hiërarchie heeft.
Gevolgtrekking
We hebben een eenvoudige maar krachtige oplossing gezien om continu databasewijzigingen naar SQL Server te publiceren met behulp van Microsoft TFS 2015 bij elke check-in of op basis van het schema van de build. Alle tabellen of opgeslagen procedures of weergaven worden toegevoegd of bijgewerkt op basis van deze wijzigingen en Visual Studio maakt of wijzigt de SQL-scripts dienovereenkomstig.
Kortom, het beheren van grote databases en het publiceren van de wijzigingen is eenvoudig geworden met behulp van de Visual Studio Database Projects en Microsoft Team Foundation Server.
Aanbevolen literatuur
- TFS-zelfstudie: TFS voor het automatiseren van bouwen, testen en implementeren voor .NET-projecten
- Microsoft TFS gebruiken voor JAVA-projecten met Eclipse in DevOps
- Agile planning met Microsoft Team Foundation Server (TFS)
- Oracle Database Application Development: Oracle SQL en PL / SQL
- Oracle Database-zelfstudie - Wat is Oracle Database?
- MySQL Create Database - Hoe maak je een database aan in MySQL
- MongoDB Create Database-zelfstudie
- Verschil tussen SQL versus MySQL versus SQL Server (met voorbeelden)