diff --git a/database/mssql/scripts/versions/revert/v_47_ddl_revert.sql b/database/mssql/scripts/versions/revert/v_47_ddl_revert.sql new file mode 100644 index 000000000..da54853eb --- /dev/null +++ b/database/mssql/scripts/versions/revert/v_47_ddl_revert.sql @@ -0,0 +1,38 @@ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +SET NOCOUNT ON +GO + +SET XACT_ABORT ON +GO +SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +GO +BEGIN TRANSACTION +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +UPDATE [permit].[ORBC_PERMIT_TYPE] SET NAME='Motive Fuel User',[DB_LAST_UPDATE_TIMESTAMP] =getutcdate() WHERE PERMIT_TYPE='MFP'; + +DECLARE @VersionDescription VARCHAR(255) +SET @VersionDescription = 'Reverting permit name update for MFP' + +INSERT [dbo].[ORBC_SYS_VERSION] ([VERSION_ID], [DESCRIPTION], [RELEASE_DATE]) VALUES (46, @VersionDescription, getutcdate()) +IF @@ERROR <> 0 SET NOEXEC ON +GO + +COMMIT TRANSACTION +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO +DECLARE @Success AS BIT +SET @Success = 1 +SET NOEXEC OFF +IF (@Success = 1) PRINT 'The database update succeeded' +ELSE BEGIN + IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION + PRINT 'The database update failed' +END +GO diff --git a/database/mssql/scripts/versions/v_47_ddl.sql b/database/mssql/scripts/versions/v_47_ddl.sql new file mode 100644 index 000000000..d1c0a7334 --- /dev/null +++ b/database/mssql/scripts/versions/v_47_ddl.sql @@ -0,0 +1,42 @@ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +SET NOCOUNT ON +GO + +SET XACT_ABORT ON +GO +SET TRANSACTION ISOLATION LEVEL SERIALIZABLE +GO +BEGIN TRANSACTION +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO + +UPDATE [permit].[ORBC_PERMIT_TYPE] SET NAME='Motive Fuel User Permit',[DB_LAST_UPDATE_TIMESTAMP] =getutcdate() WHERE PERMIT_TYPE='MFP'; + +IF @@ERROR <> 0 SET NOEXEC ON +GO + +DECLARE @VersionDescription VARCHAR(255) +SET @VersionDescription = 'Update permit name of permit type MFP' + +INSERT [dbo].[ORBC_SYS_VERSION] ([VERSION_ID], [DESCRIPTION], [UPDATE_SCRIPT], [REVERT_SCRIPT], [RELEASE_DATE]) VALUES (47, @VersionDescription, '$(UPDATE_SCRIPT)', '$(REVERT_SCRIPT)', getutcdate()) +IF @@ERROR <> 0 SET NOEXEC ON +GO + +COMMIT TRANSACTION +GO +IF @@ERROR <> 0 SET NOEXEC ON +GO +DECLARE @Success AS BIT +SET @Success = 1 +SET NOEXEC OFF +IF (@Success = 1) PRINT 'The database update succeeded' +ELSE BEGIN + IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION + PRINT 'The database update failed' +END +GO + diff --git a/database/mssql/test/versions/v_47_1_test.sql b/database/mssql/test/versions/v_47_1_test.sql new file mode 100644 index 000000000..a6976c848 --- /dev/null +++ b/database/mssql/test/versions/v_47_1_test.sql @@ -0,0 +1,5 @@ +-- Test that the permit name has been configured correctly +SET NOCOUNT ON + +SELECT COUNT(*) FROM $(DB_NAME).[permit].[ORBC_PERMIT_TYPE] +WHERE NAME='Motive Fuel User Permit' \ No newline at end of file diff --git a/database/mssql/test/versions/v_47_test.sh b/database/mssql/test/versions/v_47_test.sh new file mode 100644 index 000000000..a0be927ff --- /dev/null +++ b/database/mssql/test/versions/v_47_test.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Retrieve arguments +source ${SCRIPT_DIR}/utility/getopt.sh +USAGE="-u USER -p PASS -s SERVER -d DATABASE" +parse_options "${USAGE}" ${@} + +# All database tests for database version 47 are run from this shell script. +# TESTS_DIR variable set by the calling test-runner script. + +TEST_47_1_RESULT=$(/opt/mssql-tools/bin/sqlcmd -U ${USER} -P "${PASS}" -S ${SERVER} -v DB_NAME=${DATABASE} -h -1 -i ${TESTS_DIR}/v_47_1_test.sql | xargs) +if [[ $TEST_47_1_RESULT -eq 1 ]]; then + echo "Test 47.1 passed: MFP Permit name update successful." +else + echo "******** Test 47.1 failed: MFP Permit name update failed." +fi