简体   繁体   中英

Versioning options for shared database development (schema and data)

We have multiple instances(application + database) of the application running (Dev, Test, Prod).

Our implementation process currently looks like that:

  • multiple database developers work on the same database (application is developed by a separate team)
  • database development process contains of adding/altering database objects and configuring application objects
  • the application objects are stored in the database tables (we call them kernel tables) as data
  • the database is connected to an instance of an application, there is no possibility for developers to run their own instance of the application on their local machines. (I know it is not the best approach, but currently we cannot do it differently for various reasons)

We'd like to figure out an approach and tools (preferably free or at least not very expensive) to do the versioning on a feature level, as usually, one developer works on one feature. In the end, the feature is usually some database objects (tables, views, stored procedures) and the data inserted in the kernel (application) tables. The developer does not control the data entered by the application.

The kernel tables usually have the auto-incremented primary key, plus some dependencies like foreign keys on other kernel tables.

The ultimate goal is to have the continuous integration process in place. Meaning that we want to have an automated process which would do some tests and populate our features to other environments.

We are using both SQL Server 2014 and Azure SQL Databases.

Do you have any experiences/ideas how to handle such situation?

Thanks

You can use Visual Studio Community https://www.visualstudio.com/vs/community/ with the SSDT (SQL Server Developer Tools) tools https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt

You can now create an SQL Database Project, which can handle all your database objects. In addition you can use GIT tools (github or vsts ( https://www.visualstudio.com/ ) to store and share your code (privately).

With these tools you can manage both Azure SQL Database and SQL Server databases.

Here is a complete guide for these tools : https://msdn.microsoft.com/en-us/library/xee70aty.aspx

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM