SQL Source Control Static Views (or Table Subsets using WHERE clause)
I would like the ability to source control a subset of a table (perhaps using a view).
I have inherited a database where lookup data is intermixed with user defined data. We reference the lookup data in the table using a code (VARCHAR) that is unique when another field is NULL, so it is possible to ensure that records are created/updated/deleted without concern for the primary key involved.
For more information, you can refer to this forum post:
It's only possible to check in entire tables when there is some data changes in them. I would like it to possible to check in/commit only selected rows instead of entire table.
We are a couple of developers that are using the database and while we are developing our different tasks we update our test database. When each task has a go to release we want it to be able to just check in that tasks specific alterations.
We have several tables with static data that has to be laid down on install, but devs may add additional rows during testing that we DON'T want to ship. Would be nice to have a WHERE clause to filter out rows we don't/do want.
Timothy Batts commented
I was thinking extending the UI for data changes to function more like Data Compare would be nice, where you have inserts, updates, and deletes, and you can check only the rows you wish to change in source control.
This would also be helpful in shared development scenarios, where multiple developers may have changes to static rows in the same table for different work items. This way they can check in only their own changes individually and link them to the respective work items they actually belong to.
Michael Melancon commented
Really need to be able to select data to commit like the merge in Data Compare. I'm currently having to keep 2 copies of each database in my instance so I can make sure only the data I want to commit gets in
I've had management ask for this before. This would make it much more flexible for our usage.
Klaus Espernberger commented
We also would like to use Source Control for data content.
But Link Static Data for the whole table is way too much of data.
We would need this with a where clause to be selective.
We do have many tables that contain both static and user data.
So please put this onto the development Goals.
Jorge Salazar commented
Almost 2 and a half years of the initial request and still no solution on this item?
We use SQL Source Control 126.96.36.1992 and there is no solution on this...
Is really that hard to implement?
Timothy Bussmann commented
We have a scenario where we have table maintenance screens in a user interface to allow the user to add/modify/delete lookup type values. As part of our application we provide a number of lookup values that are system defined and cannot be modified. We would like to be able to source control the system defined values, but also allow for user defined values to be unaffected. It does not make sense for us to use a separate table for the user defined lookup values because that would complicate the data schema and application design. It would help us a lot if we were able to source control static data that is filtered by a where clause (e.g. IsSystemDefined = 1 in our case).
Nate Suver commented
This feature would be absolutely huge for us. We have a number of configuration tables that have a mix of default data and user defined data, having the ability to use ssc to manage this data right in the source repository would simplify our build configuration tremendously.
Kasper B commented
Respecting a WHERE clause would eliminate the use of a view, so that is what I would prefer.
We just started using SQL Source Control 3 and it is a great feature. However the Link Static Data isn't much use without a where clause. We have numerous tables that contain both static and user data. Thanks for considering this feature.
Gabriele Ferreri commented
We are actually using SQL Source Control 3 and it's important for us to be able to commit Static data using a where cause like in SQL Data Compare.
Please add this feature.