DATASTAR is a development tool designed to bring change management disciplines to managing database components, the definition of database components for this purpose includes tables, views, triggers, functions, stored procedures and data components. A data component captures the data or subsets of data across one or more tables in re-runnable SQL scripts in an environment agnostic way, this allows the data to be encapsulated into scripts which can be version controlled and managed in much the same way as you would do with code, using a version control system such as TFS or SVN. DATASTAR is a desktop application that allows to to generate the scripts, manage them under version control and deploy them to your target environment with lots of additional features to help you compare with different versions and control your database updates in a standardized way.
In many systems code is held in configuration and reference data tables. This data has historically been difficult to manage and migrate through the software development life-cycle. DATASTAR is unique in that it doesn't just version objects such as functions, procedures and triggers; its key feature is its ability to version data by generating scripts that encapsulate the data and their relationships with other tables.
Internal identifiers and foreign key identifiers will typically differ between environments; the scripts that are generated automatically manage these identifiers using alternative or surrogate keys. The generated scripts do not contain transient values therefore different environments can be compared very easily using standard text based comparison tools to compare one set of scripts with another, the scripts themselves are self contained and can be read and understood by anyone who understands SQL.
The level of granularity is configurable for each component allowing you decide whether to break data down into subsets or group into large data-sets. Generally speaking the more granular the better as it avoids conflicts on components when you have a team working on multiple changes that could impact the same set of tables.
Using a Source Control Management (SCM) System such as GIT or TFS the components generated can be placed under source control so that you start to build up a history of changes.
DATASTAR integrates with your SCM System so that you can identify changes and package a deployment accordingly. This works by generating a deployment file using the change history in your SCM System, where necessary additional scripts can be triggered and other custom scripts included. The deployment file contains all the information about your release including the version number, scripts and order in which the deployment will be executed.
Using the deployment file you can deploy the changes to any environment; other features support generating a back out deployment file, and generating a SQL Script that encapsulates the deployment in a single file. The deployment process captures all the changes made and will create a log file that can be saved as part of the audit information for a deployment.
All the scripts are re-runnable and can be safely reapplied to an environment. The scripts are designed to check whether changes are required avoiding unnecessary updates and providing more accurate audit information.