Hi Stuart,
What is better depends on your needs/goals and, as far as comparing and
upgrading databases goes, a matter of testing products for yourself.
My company has a tool called DB Ghost (
www.dbghost.com) that can not
only compare and synchronise databases (which it does very well) but
can build them from a full set of drop/create scripts (that describe
every object) held in your source control system.
What this means is that you can use check out/check in to modify, say,
a table create script. If you wanted to add a column you simply
include it in the create statement. This, in turn, means that your
'source' database becomes the set of drop/create scripts which allows
you to baseline and release your code directly from source control.
This is an amazingly powerful concept that, currently, no one else
provides.
DB Ghost builds a brand new database from the drop/create scripts and
then uses that as the source for a compare and upgrade of your real
target database. This gives you a target database that EXACTLY matches
a set of audited and baselined scripts in your source control system.
As a developer you simply use the source control system for database
code changes in the same manner that you would for any other
application code change. A simple process is one that is more likely
to be followed and the DB Ghost Process is simple, powerful and
guaranteed to give you a full audit trail of your changes, who, when,
why and what.
Regs,
Malc