▪
▪
▪
▪
▪
Write Code
Customer use the
code
Write Code
Customer use the
code
100 deployments
per day!
▪
▪
▪
▪
▪
▪
▪
▪
•
•
•
•
IDE
MSBuild
IntelliSense
Validation
Code Base
Consistency
Design
Compare
CI
CD
•
•
•
DB Scheme Migrations (Static & Dynamic SQL)
Single Pre- and Post Script Logic
Microsoft.Data.Tools.Msbuild
(NuGet)
•
• 
• 
•
•
•
•
•
•
•
•
•
•
•
•
Local
DEV DB
Visual Studio
DB Project Git Repo
→
QA Dump
Prod Dump
▪
•
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
•
•
•
•
•
•
•
•
Start Deployment End Deployment
GENERATE
Deployment Script
Run Script
Pre-Deployment
Script
Run Script
Post-Deployment
Script
Scheme Migration
Deployment Script
(DacPac)
Database Deployment
Build Process
Run Script
Reference Data
Deployment Script
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Scenario Pre-Scripts SSDT Engine Reference Data Scripts Post-Scripts
Add (not ) nullable field Supported
Change to not nullable Value Migration
(optional)
Supported
(Smart Defaults)
Delete field Data Migration
(optional)
Supported Data Migration
(optional)
Change data type (float to dec) Data Migration
(Custom Rounding)
Supported
Add stored procedure (SP) Supported
Change SP Supported
Delete objects Data Migration
(optional)
Supported
(Enable Data
Loss)
Rename objects Supported
Add user defined type (UDT) Supported
Add business reference data Use merge scripts
▪
▪
▪
▪
▪
▪
▪
•
•
•
•
•
•
•
Build App
Run Whitebox Tests
Build SSDT DB Project
Publish App Binaries
Publish Dacpac
Release v2
Deploy
DB Schema
Deploy
Binaries
Prod Environment
v2
Binaries
v1
Prod Environment
v2
Binaries
v2
Release v2
Deploy
Binaries
Deploy
DB Schema
Prod Environment
v1 Binaries
v1
Binaries
v2
Factory
Prod Environment
v2 Binaries
v1
Binaries
v2
Factory
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
CD
PR
CI
Checkout
Build
App
Run Unit
Test
Build
Dacpac
Publish
Dacpac
Publish
App
Create DB
Deploy DB
Schema
Deploy
App
QA
Deploy DB
Schema
Deploy
App
Pre-Prod
Clone
Prod DB
Deploy DB
Schema
Deploy
App
Prod
Deploy DB
Schema
Deploy
App
CI Type
steps:
- pwsh: |
/opt/sqlpackage/sqlpackage
/a:Publish
/p:BlockOnPossibleDataLoss=
${{ parameters.blockOnDataLoss }}
/p:GenerateSmartDefaults=True
/tcs:"${{ parameters.connection }}
/sf:"${{ parameters.dacpacFile }}"
displayName: 'Deploy DACPACs'
https://docs.microsoft.com/de-de/sql/tools/sqlpackage/sqlpackage-download?view=sql-server-ver16
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
https://hub.docker.com/_/microsoft-mssql-server
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
Helm Release
Deployment
App Pod
App
Container
Init
Container
Job
DB Migration Pod
DB Migration
Container
Service Ingress
DB
•
•
•
•
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess

DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess