Allow me to specify what tables to sync instead of a Database
In our environment multiple projects make ddl changes to same database. But they dont make changes to a same table/procedure. It would be nice to have advanced settings which let one specify what objects go to what folder instead of an entire database.
In v2.2, which is expected to be released in the next few weeks, we’ve implemented Object Filtering, which allows you to specify which objects to inlcude/exclude for source control. Therefore, you could link a database and set up a filter so that only the tables/procedures your interested in for your project would be source controlled. Would this help?
You can get the v2.2 Release Candidate at http://www.red-gate.com/messageboard/viewtopic.php?t=13668 to try this out.
Links are set up per window user per machine. So, the only way to do this currently would be if you logged in as 2 separate window users and linked the db for each user to a separate location and set up the filters for each link.
The other option is to use 2 separate machines that have SSMS. I'm not sure if you have a VM, but this would allow you to link the same database to different locations and again specify a filter for each.
I don't think either of these are ideal... I'm glad this won't be an issue with your non-legacy apps.
Another idea is to still comit all the database changes to the same repository and then do something on the repository side to just get the changes for one project or another.
I am sorry I must mention ApplicationA and ApplicationB not Projects. I am aware that this is not a good practice to have two applications to have ddl on same database but they touch distinct tables in the same database. these are the legacy apps we have. we see potential for all the new apps with SQL Source but legacy apps are pain. Conceptually if a database can have multiple links link1, link2.. this will solve our problem
@Afroz - have you considered creating two branches in source control, one for each project, or wouldn't this work for you?
This is very helpful, but can one sync one database to more than one project in source control? I don't think this feature is available today. Lets say Database Widgets has two objects 1 and 2. I want to be able to save object 1 to ProjectA in source control and 2 to ProjectB in source control.