Static data
Published 20 August 2018
Post-Deployment script to add environment specific static data
- CREATE TABLE #MarketingReasons (ID int, ReasonType varchar(MAX))
- INSERT INTO #MarketingReasons VALUES
- (1, 'Recommendation'),
- (2, 'Review'),
- (3, 'Internet')
- IF (@@SERVERNAME = 'DEV-DEVELOPERNAME')
- BEGIN
- INSERT INTO #MarketingReasons VALUES
- (4, 'Dev recommendation')
- END
- MERGE INTO dbo.MarketingReasons AS target
- USING #MarketingReasons AS source
- ON target.ID = source.ID
- WHEN MATCHED THEN
- UPDATE SET ReasonType = source.ReasonType
- WHEN NOT MATCHED BY TARGET THEN
- INSERT ( ID, ReasonType )
- VALUES ( ID, ReasonType )
- WHEN NOT MATCHED BY SOURCE THEN
- DELETE;
- GO
- IF @@ERROR <> 0 SET NOEXEC ON
- GO
Notable points:
- Post-Deployment scripts must be re-runnable as they will be executed as part of every deployment.
- A
MERGE
statement is used to copy static data into thedbo.MarketingReasons
table.
- A
- Post-Deployment scripts are deployed to every environment.
@@SERVERNAME
is used to add an extra row in the development database.
- By default there is no error handling, so this script tests for an error, and sets
NOEXEC
toON
if an error occurs.