BuildMaster Documentation

Database Changes

In BuildMaster, database changes help ensure security needs are met. BuildMaster allows you to associate a connection string with an environment so that only users with the appropriate privileges have access. Through privileges, you're able to ensure sensitive information in connection strings are protected.

Database Connections

Databases are associated with an environment, allowing all of the application's database instances to be registered. Once registered, operations that work with databases (Execute Statement) may be run against the database. If change scripts are to be executed, the database must be initialized.

Each database engine, although slightly different, shares similar functionality: an engine-specific connection string that defines the server, catalog, credentials, and other details which are required to access the database engine and the ability to execute a text-based query.

Generally, applications have at least one database associated with each instance of the application. For example, if an application is deployed to Integration, Testing, and Production, there is generally an Integration, Testing, and Production database.

Setting up a Database Connection

Operations

BuildMaster has built-in database operations that may be called in any deployment plan: Backup Database, Execute database change scripts, Execute Database Scripts on Disk, Execute Database Statement, Build Database Updater Executable and Restore Database. These operations can be easily added to any deployment plan via visual editor or text mode.

Change Scripts

Database change scripts are a special type of file that is run against a database to make changes to the data structures (tables) and the data. As a result of the fundamental nature of data and databases, a change script is irrevocable.

BuildMaster tracks the execution of database change scripts and ensures that:

  1. Scripts can be run once and only once
  2. Scripts cannot be undone

These executions are tracked through a lightweight table which is created after a database provider has been initialized within BuildMaster. Virtually any relational database engine is supported through the use of database providers.

Packager

In addition to running change scripts from within BuildMaster, sometimes it is necessary to deploy change scripts to a system not associated with the installation. BuildMaster is able to generate a simple command-line executable that has no dependencies (other than .NET 4.5) and may be used to execute change scripts against any arbitrary database, just as if this were done from within BuildMaster.

Using the Change Script Package

The executable generated for running change scripts is not designed to be user-friendly. It is a simple command-line utility meant to be used by developers or wrapped by some type of installer. The tool may be run interactively, or arguments may be specified using the command-line.