One of the things that seems to be missing from large scale database development is
the ability to really see the differences from one version of the database to the next.
Now of course SQL Compare can take snapshots and these snapshots can be stored in a
source control system but in order to compare two different versions you have to retrieve
both versions to disk and then open SQL Compare load the two snapshots and then have a look.
This is both time consuming and a little roundabout.
So what we now have is a little utility based on the technology of SQL Compare that can be
downloaded for free here
which you can integrate into your source control
system as the default difference tool. What this will do is check to see if the two files
passed as arguments are snapshots and if they are it will show you how they differ but
without any of the synchronisation SQL that SQL Compare gives you ( after all it's free you know ;) ).
If the files aren't SQL Compare snapshot files then the program can pass the files onto your
favourite diff tool ( I recommend WinMerge
for text based files ) or a different diff tool controlled by the extension of the file.
Feel free to download
Red Gate Scream and distribute it around your organisation for anybody who might
need to see the differences between snapshot files.
If you have any other ideas to make this tool more useful or indeed other tools that
you would like to see Red Gate produce feel free to comment here or go to our
forums. Please note that
Red Gate Scream is not an officially supported product.
As an example we use Source Gear Vault
here. The settings that I have configured are...
Program: C:\Program Files\Red Gate\Red Gate Scream\RedGate.Scream.exe
Arguments: "%LEFT_PATH%" "%RIGHT_PATH%" "%LEFT_LABEL%" "%RIGHT_LABEL%"
Then in Red Gate Scream I have the following setup as my default diff tool...
Extension: default
Command Line: "C:\Program Files\WinMerge\WinMerge.exe"
Arguments: /ub /wl "%1" "%2" /dl "%3" /dr "%4"
Notice how the command arguments from Source Gear "%LEFT_PATH%" maps to %1 for Red Gate Scream.
The first two arguments to Red Gate Scream are always
the paths of the left and right files. The arguments after that are available to be
passed on to the next diff tool as %3,%4,...,%n.
It seems that SourceSafe version 6 doesn't allow external diff tools to be integrated
so if you're using that I'd advise you upgrade to 2005 which does. The settings that I've
got to work are...
Operation: File Difference
File Extension: .snp
CommandLine: "C:\Program Files\Red Gate\Red Gate Scream\RedGate.Scream.exe" %1 %2
Please notice the lack of quotes around the %1 and %2 arguments as if these are present
SourceSafe for some reason decides not to escape the file paths when comparing against
a local file - how bizarre.
Have fun....
Download Red Gate Scream here
PS If you have a better name for the product or find it useful please let me know :).