Skip to main content

A simple CDK seeder for SQL Server RDS databases.

Project description

cdk-sqlserver-seeder

build dependencies

npm version PyPI version NuGet version Maven Central

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 aws_cdk.core as cdk
import aws_cdk.aws_ec2 as ec2
import aws_cdk.aws_rds as rds
from cdk_sqlserver_seeder import SqlServerSeeder

class DatabaseStack(cdk.Stack):
    def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None):
        super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection)

        sql_server = rds.DatabaseInstance(self, "Instance",
            engine=rds.DatabaseInstanceEngine.SQL_SERVER_WEB
        )

        seeder = SqlSeederSecret(self, "SqlSeederSecret",
            database=sql_server,
            port=1433,
            vpc=vpc,
            create_script_path="./SQL/v1.0.0.sql", # script to be executed on resource creation
            delete_script_path="./SQL/cleanup.sql"
        )

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk-sqlserver-seeder-0.2.1.tar.gz (46.1 MB view hashes)

Uploaded Source

Built Distribution

cdk_sqlserver_seeder-0.2.1-py3-none-any.whl (46.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page