Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions containers/build_classic.sh

This file was deleted.

1 change: 0 additions & 1 deletion containers/db/.gitignore

This file was deleted.

20 changes: 0 additions & 20 deletions containers/db/Dockerfile

This file was deleted.

31 changes: 0 additions & 31 deletions containers/db/Dockerfile_windows

This file was deleted.

19 changes: 19 additions & 0 deletions containers/db/initialize/01-restore-modern.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
USE [master];

---------------------------------------------------------------------------------------------------
-- RDB_MODERN (Copy of RDB)
---------------------------------------------------------------------------------------------------

IF DB_ID('rdb_modern') IS NULL
BEGIN
-- Create backup of RDB
BACKUP DATABASE RDB TO DISK = '/tmp/RDB.bak' WITH COMPRESSION;

-- Restore backup to rdb_modern
RESTORE DATABASE [RDB_MODERN] FROM DISK = N'/tmp/RDB.bak' WITH FILE = 1,
MOVE N'RDB' TO N'/var/opt/mssql/data/rdb_modern_data.mdf',
MOVE N'RDB_log' TO N'/var/opt/mssql/data/rdb_modern_log.ldf', NOUNLOAD, STATS = 10


ALTER DATABASE [RDB_MODERN] SET COMPATIBILITY_LEVEL = 120;
END
19 changes: 19 additions & 0 deletions containers/db/initialize/02-initialize-rdb-modern.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
USE [NBS_ODSE];
-- Insert into NBS_ODSE.NBS_Configuration to flag use of RDB_MODERN
IF (SELECT config_value FROM NBS_configuration WHERE config_key = 'ENV') IS NULL
BEGIN
INSERT INTO
NBS_configuration (
config_key,
config_value,
version_ctrl_nbr,
add_user_id,
add_time,
last_chg_user_id,
last_chg_time,
status_cd,
status_time
)
VALUES
('ENV', 'UAT', 1, 99999999, GETDATE(), 99999999, GETDATE(), 'A', GETDATE());
END
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ IF NOT EXISTS (SELECT name
FROM sys.server_principals
WHERE name = 'db_deploy_admin')
BEGIN
CREATE LOGIN [db_deploy_admin] WITH PASSWORD =N'$(DEPLOY_ADMIN_PASSWORD)', DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;
CREATE LOGIN [db_deploy_admin] WITH PASSWORD =N'$(LIQUIBASE_USER_PASSWORD)', DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;

ALTER SERVER ROLE [setupadmin] ADD MEMBER [db_deploy_admin];
ALTER SERVER ROLE [processadmin] ADD MEMBER [db_deploy_admin];
Expand All @@ -19,18 +19,17 @@ IF NOT EXISTS (SELECT name
GRANT VIEW SERVER STATE TO [db_deploy_admin];
END

if exists (select 1
from sys.databases
where name = 'rdsadmin') -- for aws
begin
IF EXISTS (SELECT 1 FROM sys.databases WHERE NAME = 'rdsadmin') -- for aws
BEGIN
USE msdb;

IF NOT EXISTS (SELECT name FROM master.sys.database_principals WHERE name = 'db_deploy_admin')
CREATE USER [db_deploy_admin] FOR LOGIN [db_deploy_admin] WITH DEFAULT_SCHEMA =[dbo];
BEGIN
CREATE USER [db_deploy_admin] FOR LOGIN [db_deploy_admin] WITH DEFAULT_SCHEMA =[dbo];

GRANT SELECT ON msdb.dbo.sysjobs TO db_deploy_admin;
GRANT EXECUTE ON msdb.dbo.rds_cdc_enable_db TO db_deploy_admin;
GRANT EXECUTE ON msdb.dbo.rds_cdc_disable_db TO db_deploy_admin;
GRANT SELECT ON msdb.dbo.sysjobs TO db_deploy_admin;
GRANT EXECUTE ON msdb.dbo.rds_cdc_enable_db TO db_deploy_admin;
GRANT EXECUTE ON msdb.dbo.rds_cdc_disable_db TO db_deploy_admin;

/*
CNDE-2707:
Expand All @@ -39,17 +38,22 @@ if exists (select 1
it is sufficient to just have sysadmin role, which has full access to SQL Server Agent roles.
*/

ALTER ROLE [SQLAgentOperatorRole] ADD MEMBER [db_deploy_admin];
end;
else
begin
ALTER ROLE [SQLAgentOperatorRole] ADD MEMBER [db_deploy_admin];
END
END;
ELSE
BEGIN
-- azure and onprem
ALTER SERVER ROLE [sysadmin] ADD MEMBER [db_deploy_admin]
IF NOT EXISTS (SELECT name FROM master.sys.database_principals WHERE name = 'db_deploy_admin')
BEGIN
ALTER SERVER ROLE [sysadmin] ADD MEMBER [db_deploy_admin]

CREATE USER [db_deploy_admin] FOR LOGIN [db_deploy_admin] WITH DEFAULT_SCHEMA =[dbo]
GRANT EXECUTE ON sys.sp_cdc_enable_db TO db_deploy_admin;
GRANT EXECUTE ON sys.sp_cdc_disable_db TO db_deploy_admin;
END

CREATE USER [db_deploy_admin] FOR LOGIN [db_deploy_admin] WITH DEFAULT_SCHEMA =[dbo]
GRANT EXECUTE ON sys.sp_cdc_enable_db TO db_deploy_admin;
GRANT EXECUTE ON sys.sp_cdc_disable_db TO db_deploy_admin;
end;
END;

-- ==========================================
-- RDB
Expand All @@ -65,15 +69,6 @@ IF NOT EXISTS (SELECT *
END;


IF NOT EXISTS (SELECT *
FROM sys.database_principals
WHERE name = 'db_deploy_admin')
BEGIN
CREATE USER [db_deploy_admin] FOR LOGIN [db_deploy_admin] WITH DEFAULT_SCHEMA =[dbo]

ALTER ROLE [db_owner] ADD MEMBER [db_deploy_admin]
END

-- ==========================================
-- NBS_ODSE
-- ==========================================
Expand Down
55 changes: 55 additions & 0 deletions containers/db/initialize/04-nbs_odse-change-data-capture.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---------------------------------------------------------------------------------------------------
-- Enable CDC for NBS_ODSE
---------------------------------------------------------------------------------------------------
USE NBS_ODSE;

EXEC sp_changedbowner 'sa';

-- Enable at database level
IF (SELECT is_cdc_enabled FROM sys.databases WHERE name = 'NBS_ODSE') = 0
BEGIN
PRINT 'Enabling CDC for NBS_ODSE';
EXEC sys.sp_cdc_enable_db;
END

-- Enable for tables
DECLARE @tableName NVARCHAR(128);
DECLARE @enableCDCSQL NVARCHAR(MAX);

DECLARE @tablesToEnable TABLE (
TableName NVARCHAR(128)
);

INSERT INTO @tablesToEnable (TableName) VALUES
('Person'),
('Organization'),
('Observation'),
('Public_health_case'),
('Treatment'),
('state_defined_field_data'),
('Notification'),
('Interview'),
('Place'),
('CT_contact'),
('Auth_user'),
('Intervention'),
('Act_relationship')
;

DECLARE cur CURSOR FOR SELECT TableName FROM @tablesToEnable;
OPEN cur;
FETCH NEXT FROM cur INTO @tableName;

WHILE @@FETCH_STATUS = 0
BEGIN
IF (SELECT is_tracked_by_cdc FROM sys.tables WHERE name = @tableName) = 0
BEGIN
PRINT 'Enabling CDC for table ' + @tableName;
EXEC sys.sp_cdc_enable_table @source_schema = 'dbo', @source_name = @tableName, @role_name = NULL;
END

FETCH NEXT FROM cur INTO @tableName;
END

CLOSE cur;
DEALLOCATE cur;
86 changes: 86 additions & 0 deletions containers/db/initialize/05-nbs_srte-change-data-capture.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---------------------------------------------------------------------------------------------------
-- Enable CDC for NBS_SRTE
---------------------------------------------------------------------------------------------------
USE NBS_SRTE;

-- Enable at database level
IF (SELECT is_cdc_enabled FROM sys.databases WHERE name = 'NBS_SRTE') = 0
BEGIN
PRINT 'Enabling CDC for NBS_SRTE';
EXEC sys.sp_cdc_enable_db;
END

-- Enable for tables
DECLARE @tableName NVARCHAR(128);
DECLARE @enableCDCSQL NVARCHAR(MAX);

DECLARE @tablesToEnable TABLE (
TableName NVARCHAR(128)
);

INSERT INTO @tablesToEnable (TableName) VALUES
('Condition_code'),
('Program_area_code'),
('Language_code'),
('State_code'),
('Unit_code'),
('Cntycity_code_value'),
('Lab_result'),
('Country_code'),
('Labtest_loinc'),
('ELR_XREF'),
('Loinc_condition'),
('Loinc_snomed_condition'),
('Lab_test'),
('Zip_code_value'),
('Zipcnty_code_value'),
('Lab_result_Snomed'),
('Investigation_code'),
('TotalIDM'),
('IMRDBMapping'),
('Anatomic_site_code'),
('Jurisdiction_code'),
('Lab_coding_system'),
('City_code_value'),
('LDF_page_set'),
('LOINC_code'),
('NAICS_Industry_code'),
('Codeset_Group_Metadata'),
('Country_Code_ISO'),
('Occupation_code'),
('Country_XREF'),
('Standard_XREF'),
('Code_value_clinical'),
('Code_value_general'),
('Race_code'),
('Participation_type'),
('Specimen_source_code'),
('Snomed_code'),
('State_county_code_value'),
('State_model'),
('Codeset'),
('Jurisdiction_participation'),
('Labtest_Progarea_Mapping'),
('Treatment_code'),
('Snomed_condition');

DECLARE cur CURSOR FOR SELECT TableName FROM @tablesToEnable;
OPEN cur;
FETCH NEXT FROM cur INTO @tableName;

WHILE @@FETCH_STATUS = 0
BEGIN
IF (SELECT is_tracked_by_cdc FROM sys.tables WHERE name = @tableName) = 0
BEGIN
PRINT 'Enabling CDC for table ' + @tableName;
EXEC sys.sp_cdc_enable_table @source_schema = 'dbo', @source_name = @tableName, @role_name = NULL;
END

FETCH NEXT FROM cur INTO @tableName;
END

CLOSE cur;
DEALLOCATE cur;



Loading