Developing and deploying databases can be a complex task, especially due to the differences in language and communication between database developers and application developers. However, Visual Studio Team System Database Edition (VSTS:DB) offers a solution to bridge this gap and streamline the development and deployment process.
Prior to VSTS:DB, creating a database project only allowed for storing scripts in source control, with limited capabilities for deploying the projects to a database. However, with VSTS:DB, three different project types can be created and used in deployments.
The first project type is the standard database project, which is used for storing objects that are common across all environments, such as tables, views, procedures, functions, triggers, roles, and users. This project serves as a baseline for the development, QA, staging, and production environments.
The second project type is the server project, which defines how the server should look but is strictly for reference purposes. It should not be deployed to the server.
The third project type is the compound project, which is a combination of the baseline project and the server project. This project allows for more flexibility and customization. For example, different server projects can be created for each server type in the deployment path, such as a development server and a QA server.
To integrate the baseline project and the server project, the compound project can be used. By adding a database reference to the compound project, the baseline project and the server project are combined, allowing for a clean deployment.
In addition to creating different project types, the Configuration Manager can be used to define configurations for each server. This ensures that deployments with the wrong configuration will fail, preventing accidental deployment of development security to production.
Overall, VSTS:DB provides a shared language and environment for both database developers and application developers, making the development and deployment process smoother and more efficient.
This is just a brief introduction to the functionality available through Visual Studio Team System Database Edition. If you or your developers are currently using it, it’s important to become more acquainted with its features, as it will be a part of what your developers are capable of doing in the near future.