Database Revisions Process for BBDW Database

Changes to Blackbaud Data Warehouse database structure are managed with a revisions process. The process for the BBDW database closely parallels the revisions process for an Infinity database. But since the deployments are run separately, the revisions are also run separately.

Revisions are defined in revisions specs. Revisions specs are processed in numerical order by the deployment utility. A revisions spec filename looks like this: DBREV10001.XML.

For example, the deployment utility processes DBREV10001.XML before DBREV10002.XML. We strongly recommend that when you extend the database, you use revisions specs. Blackbaud Product Development uses revisions filenames numbered starting with 1. Blackbaud Professional Services uses revisions filenames numbered 10,000 and above. We recommend third party developers follow this pattern to avoid conflicts with Blackbaud Product Development revisions numbering. This way, extensions always run after Blackbaud Product Development specs.

The deployment utility maintains a table that stores the ID number of the most recently processed revision in a file. When the utility runs, it processes specs numbered higher than the most recently added spec.

Warning: If you add a revisions to a revisions file spec numbered lower than the most recently processed ID, the revision will not be processed by the utility. For example, if the most recently processed revision ID in a revisions spec file is 100, the utility will only process revisions in that file with IDs higher than 100.

Using revisions specs to change the database ensures that the process is repeatable and supports upgrade. By maintaining your Transact-SQL for upgrades in these specs, you can replicate the creation process for test databases or for other instances of your database. For example, you organization may use separate databases for some locations.

Once you have created revisions specs, you compile them into a DLL and place the DLL in the Extend\Revisions folder.