Introduktion
En manuel implementeringsproces for databaseændringer er langsom og fejlbehæftet. Nogen skriver et script, sender det til databaseadministratoren og venter på, at det bliver kørt under et vedligeholdelsesvindue. Hvis noget går galt, er det svært at rulle tilbage, fordi ingen har fulgt den præcise tilstand af skemaet før ændringen. Imens overskriver udviklere, der arbejder på forskellige funktioner, hinandens ændringer, fordi der ikke er nogen struktureret arbejdsgang for databasekode.
Forestil dig et team, der administrerer en e-handelsapplikation på Azure SQL Database. Tre udviklere tilføjer funktioner, der kræver skemaændringer. En tilføjer en ny produktkategori-tabel, en anden ændrer de lagrede procedurer for ordrebehandling, og en tredje opdaterer kundeopslagsvisningerne. Uden versionskontrol, CI/CD-pipelines og automatiseret test kolliderer disse ændringer. En hotfix, der anvendes direkte på produktionen, falder ud af sync med udviklingsmiljøet. En udrulning overskriver hotfixet, hvilket forårsager produktionsafbrydelse i spidsbelastningstimerne.
SQL Database Projects og CI/CD-pipelines løser disse problemer ved at behandle databasekode med samme stringens som applikationskode. Du versionskontrollerer hvert objekt, automatiserer builds og deployments, opdager, når den levende database driver væk fra projektet, og tester ændringer, før de når produktion.
Når du har fuldført dette modul, kan du:
- Oprethold, byg og valider databasemodeller ved at bruge SQL Database Projects, inklusive SDK-stil.
- Konfigurér versionskontrol for SQL Database-projekter og administrer referencedata med pre-deployment og post-deployment-scripts.
- Styr branching, pull requests og konfliktløsning for databasekode.
- Opdag skema-drift ved at bruge skema-sammenligningsværktøjer og SqlPackage.
- Implementer CI/CD-pipelines med GitHub Actions og Azure DevOps, inklusive hemmelighedsstyring og implementeringskontroller.
- Design og implementér en teststrategi med enhedstests og integrationstests.