@@ -131,6 +131,9 @@ stages:
131131 PathtoPublish : ' $(Build.SourcesDirectory)/changedfiles.txt'
132132 ArtifactName : ' changedFiles'
133133
134+ # ###########################################################################################
135+ # SQL Script Generation
136+ # ###########################################################################################
134137 # Account
135138 - job : Account
136139 displayName : " Generate Account Schema Script"
@@ -323,19 +326,198 @@ stages:
323326 displayName : Copy Validation SQL Scripts to Artifact Staging Directory
324327 inputs :
325328 SourceFolder : ' $(build.sourcesdirectory)/Java/validation/src/main/resources/database/migrations/'
326- TargetFolder : ' $(Build.ArtifactStagingDirectory)/validation-db '
327- Contents : ' validationDb .sql'
329+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/DatabaseScripts '
330+ Contents : ' V* .sql'
328331 - task : PublishBuildArtifacts@1
329332 inputs :
330- PathtoPublish : ' $(Build.ArtifactStagingDirectory)/validation-db '
333+ PathtoPublish : ' $(Build.ArtifactStagingDirectory)/DatabaseScripts '
331334 ArtifactName : ' validation-db'
332335 publishLocation : ' container'
333336 displayName : Publish Validation SQL Script
334337 # ##
335338
336- - stage : Update_SQL_DBs
339+ # ###########################################################################################
340+ # SQL Script Apply TEST
341+ # ###########################################################################################
342+ - stage : Apply_TEST_Update_SQL_DBs
337343 trigger : manual
338- displayName : Update SQL Schema on Databases
344+ displayName : Apply_TEST_Update_SQL_DBs
345+ # dependsOn: Build
346+ condition : always()
347+
348+ # Requires Windows runner for SQL
349+ pool :
350+ vmImage : ' windows-latest'
351+
352+ jobs :
353+ # ## Account
354+ - job : UpdateAccountSchema
355+ displayName : Update Account DB Schema
356+ steps :
357+ - download : current
358+ artifact : account-db
359+
360+ - task : SqlAzureDacpacDeployment@1
361+ displayName : Apply Account DB Schema
362+ inputs :
363+ azureSubscription : " NHSNLink Resource Manager"
364+ ServerName : ' link-db.database.windows.net'
365+ DatabaseName : ' link-test-botw-account'
366+ SqlUsername : ' $(link-db_username)'
367+ SqlPassword : ' $(link-db_pass)'
368+ deployType : ' SqlTask'
369+ SqlFile : ' $(Pipeline.Workspace)/account-db/accountDb.sql'
370+
371+ # ## Audit
372+ - job : UpdateauditSchema
373+ displayName : Update audit DB Schema
374+ steps :
375+ - download : current
376+ artifact : audit-db
377+
378+ - task : SqlAzureDacpacDeployment@1
379+ displayName : Apply audit DB Schema
380+ inputs :
381+ azureSubscription : " NHSNLink Resource Manager"
382+ ServerName : ' link-db.database.windows.net'
383+ DatabaseName : ' link-test-botw-audit'
384+ SqlUsername : ' $(link-db_username)'
385+ SqlPassword : ' $(link-db_pass)'
386+ deployType : ' SqlTask'
387+ SqlFile : ' $(Pipeline.Workspace)/audit-db/auditDb.sql'
388+
389+ # ## Census
390+ - job : UpdatecensusSchema
391+ displayName : Update census DB Schema
392+ steps :
393+ - download : current
394+ artifact : census-db
395+
396+ - task : SqlAzureDacpacDeployment@1
397+ displayName : Apply census DB Schema
398+ inputs :
399+ azureSubscription : " NHSNLink Resource Manager"
400+ ServerName : ' link-db.database.windows.net'
401+ DatabaseName : ' link-test-botw-census'
402+ SqlUsername : ' $(link-db_username)'
403+ SqlPassword : ' $(link-db_pass)'
404+ deployType : ' SqlTask'
405+ SqlFile : ' $(Pipeline.Workspace)/census-db/censusDb.sql'
406+
407+ # ## Data
408+ - job : UpdatedataSchema
409+ displayName : Update data DB Schema
410+ steps :
411+ - download : current
412+ artifact : data-db
413+
414+ - task : SqlAzureDacpacDeployment@1
415+ displayName : Apply data DB Schema
416+ inputs :
417+ azureSubscription : " NHSNLink Resource Manager"
418+ ServerName : ' link-db.database.windows.net'
419+ DatabaseName : ' link-test-botw-data'
420+ SqlUsername : ' $(link-db_username)'
421+ SqlPassword : ' $(link-db_pass)'
422+ deployType : ' SqlTask'
423+ SqlFile : ' $(Pipeline.Workspace)/data-db/dataDb.sql'
424+
425+ # ## Normalization
426+ - job : UpdatenormalizationSchema
427+ displayName : Update normalization DB Schema
428+ steps :
429+ - download : current
430+ artifact : normalization-db
431+
432+ - task : SqlAzureDacpacDeployment@1
433+ displayName : Apply normalization DB Schema
434+ inputs :
435+ azureSubscription : " NHSNLink Resource Manager"
436+ ServerName : ' link-db.database.windows.net'
437+ DatabaseName : ' link-test-botw-normalization'
438+ SqlUsername : ' $(link-db_username)'
439+ SqlPassword : ' $(link-db_pass)'
440+ deployType : ' SqlTask'
441+ SqlFile : ' $(Pipeline.Workspace)/normalization-db/normalizationDb.sql'
442+
443+ # ## QueryDispatch
444+ - job : UpdatequerydispatchSchema
445+ displayName : Update querydispatch DB Schema
446+ steps :
447+ - download : current
448+ artifact : querydispatch-db
449+
450+ - task : SqlAzureDacpacDeployment@1
451+ displayName : Apply querydispatch DB Schema
452+ inputs :
453+ azureSubscription : " NHSNLink Resource Manager"
454+ ServerName : ' link-db.database.windows.net'
455+ DatabaseName : ' link-test-botw-querydispatch'
456+ SqlUsername : ' $(link-db_username)'
457+ SqlPassword : ' $(link-db_pass)'
458+ deployType : ' SqlTask'
459+ SqlFile : ' $(Pipeline.Workspace)/querydispatch-db/querydispatchDb.sql'
460+
461+ # ## Submission
462+ - job : UpdatesubmissionSchema
463+ displayName : Update submission DB Schema
464+ steps :
465+ - download : current
466+ artifact : submission-db
467+
468+ - task : SqlAzureDacpacDeployment@1
469+ displayName : Apply submission DB Schema
470+ inputs :
471+ azureSubscription : " NHSNLink Resource Manager"
472+ ServerName : ' link-db.database.windows.net'
473+ DatabaseName : ' link-test-botw-submission'
474+ SqlUsername : ' $(link-db_username)'
475+ SqlPassword : ' $(link-db_pass)'
476+ deployType : ' SqlTask'
477+ SqlFile : ' $(Pipeline.Workspace)/submission-db/submissionDb.sql'
478+
479+ # ## Tenant
480+ - job : UpdatetenantSchema
481+ displayName : Update tenant DB Schema
482+ steps :
483+ - download : current
484+ artifact : tenant-db
485+
486+ - task : SqlAzureDacpacDeployment@1
487+ displayName : Apply tenant DB Schema
488+ inputs :
489+ azureSubscription : " NHSNLink Resource Manager"
490+ ServerName : ' link-db.database.windows.net'
491+ DatabaseName : ' link-test-botw-tenant'
492+ SqlUsername : ' $(link-db_username)'
493+ SqlPassword : ' $(link-db_pass)'
494+ deployType : ' SqlTask'
495+ SqlFile : ' $(Pipeline.Workspace)/tenant-db/tenantDb.sql'
496+
497+ # ## Validation
498+ - job : UpdatevalidationSchema
499+ displayName : Update validation DB Schema
500+ steps :
501+ - download : current
502+ artifact : validation-db
503+
504+ - task : SqlAzureDacpacDeployment@1
505+ displayName : Apply validation DB Schema
506+ inputs :
507+ azureSubscription : " NHSNLink Resource Manager"
508+ ServerName : ' link-db.database.windows.net'
509+ DatabaseName : ' link-test-botw-validation'
510+ SqlUsername : ' $(link-db_username)'
511+ SqlPassword : ' $(link-db_pass)'
512+ deployType : ' SqlTask'
513+ SqlFile : ' $(Pipeline.Workspace)/validation-db/V20241101__Initial_schema.sql'
514+
515+ # ###########################################################################################
516+ # SQL Script Apply QA
517+ # ###########################################################################################
518+ - stage : Apply_QA_Update_SQL_DBs
519+ trigger : manual
520+ displayName : Apply_QA_Update_SQL_DBs
339521 # dependsOn: Build
340522 condition : always()
341523
@@ -504,4 +686,4 @@ stages:
504686 SqlUsername : ' $(link-db_username)'
505687 SqlPassword : ' $(link-db_pass)'
506688 deployType : ' SqlTask'
507- SqlFile : ' $(Pipeline.Workspace)/validation-db/validationDb .sql'
689+ SqlFile : ' $(Pipeline.Workspace)/validation-db/V20241101__Initial_schema .sql'
0 commit comments