Can Deployment Manager perform a selective upgrade?

philcartphilcart Posts: 45
edited December 4, 2013 7:29AM in Deployment Manager
Just wondering if this has been suggested/thought of.

eg:
1. Using TFS, 100 database items are marked "Ready for Test"
2. Deployment Manager creates release and deploys to test database server
3. Testers pass 90 of those items
4. Can we then "release" those 90 items to UAT database server?


Cheers
Phil

Comments

  • Hi,
    I can't think of an easy way this could be achieved really- assuming you're talking either about a set of scripts or a database, our tools work on comparing the state of the DB at that point. The only way you can really select specific objects is through the use of filters, but these are configured from within either SQL Compare or SQL Source Control and we don't have any hooks into however things get marked in TFS as passed (or not).
    You could manually set up your filters within Compare, but I'm guessing you wanted something more automatic?
    Systems Software Engineer

    Redgate Software

  • Thanks James

    What I'm looking for is some way for Deployment Manager to take a bunch of scripts that are in a folder and deploy them to the target database server, bearing in mind that the files in the folder do not represent all objects in the database.

    We have regular 6 week releases as well as many "hotfix" releases. The content of the "hotfix" releases vary from a single proc change to new tables, procs and data inserts.

    We currently have a process that checks the status of a TFS workitem and downloads the relevant files to a folder. It then builds a long and cumbersome SQLCompare command line to compare those specific objects and generate a change script to deploy. Once the deploy is complete it updates the status in TFS.

    Where this process falls down is when there are many files associated with the workitem, or we have many workitems to deploy as part of a larger release.


    Cheers
    Phil
  • If you just want to deploy arbitrary scripts, such as the hotfixes, it'll probably require you to package them up along with some custom powershell script (which could use SQLCMD to execute them) using RGPublish (the command line tool).

    To use the database package functionality, you'd really need to look at applying the hotfixes to some sort of staging database / source control repo, and packaging the whole DB up - then at deployment time, the SQL Compare functionality DM runs would work out the differences (which, if you're keeping staging up to date with the production copy) should just be the hotfix that needs to be applied.
    Systems Software Engineer

    Redgate Software

Sign In or Register to comment.