Skip navigation links

@Stability(value=Experimental)

Package xyz.talnakh.SqlServerSeeder

cdk-sqlserver-seeder

See: Description

Package xyz.talnakh.SqlServerSeeder Description

cdk-sqlserver-seeder

build dependencies

npm version PyPI version NuGet version

A simple CDK seeder for SQL Server RDS databases.

cdk-sqlserver-seeder library is a AWS CDK construct that provides a way to execute custom SQL scripts on RDS SQL Server resource creation/deletion.

The construct relies on Invoke-SqlCmd cmdlet to run the scripts and handle possible errors. Provides a way to handle transient errors during stack provisioning.

Usage

 // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.services.ec2.*;
 import software.amazon.awscdk.services.rds.*;
 import cdk.sqlserver.seeder.SqlServerSeeder;
 
 public class DatabaseStack extends Stack {
     public DatabaseStack(Construct scope, String id) {
         this(scope, id, null);
     }
 
     public DatabaseStack(Construct scope, String id, StackProps props) {
         super(scope, id, props);
 
         DatabaseInstance sqlServer = new DatabaseInstance(this, "Instance", new DatabaseInstanceProps()
                 .engine(rds.DatabaseInstanceEngine.getSQL_SERVER_WEB()));
 
         var seeder = SqlSeederSecret.Builder.create(this, "SqlSeederSecret")
                 .database(sqlServer)
                 .port(1433)
                 .vpc(vpc)
                 .createScriptPath("./SQL/v1.0.0.sql")// script to be executed on resource creation
                 .deleteScriptPath("./SQL/cleanup.sql")
                 .build();
     }
 }
 

Acknowledgements

The whole project inspired by aws-cdk-dynamodb-seeder. I though it would be very helpful to have a similar way to seed initial schema to more traditional SQL Server databases.

Skip navigation links

Copyright © 2020. All rights reserved.