On Wed, 21 Apr 2004 16:36:51 -0400, Gary Davidson <[EMAIL PROTECTED]>
wrote:

>The db is a different story. A developer opens enterprise mgr and makes a
>quick change and then "forgets" to notify anyone of the change script. We
>don't find out until the build or someone happens to do a get latest and
>steps on that code. Then it turn in to a finger pointing discussion with
the
>developers wanting some magic "process" to fix it. They blame lack of
>process and I say they aren't following the process we have.
>
>I guess it is the human element I am trying to factor out. I am trying to
>automate the process for db development builds and find the integration
>errors sooner.
>
>Maybe "That dog just won't hunt".
>
>Gary Davidson

Gary,

You should really make the database building part of the build process,
and make it a rule that no-one modifies the database outside of the build
process. This is what we do:

We have a set of SQL script files that create the database from scratch.
One creates the schema, one adds initial data, and another one adds test
data. These scripts are in the source control.

We have a nant script that drives the build process. The full build begins
by checking out all the sources from source control, it runs the SQL
scripts to build the database, it then compiles the sources and finally
runs unit tests. At the end the developer has the complete system locally
on his/her dev machine.

If I need to change a schema, I do the changes locally on my dev machine
usually through Visio. I first reverse-engineer the current schema, do the
changes and have Visio output a script that incrementally applies the
changes to the database. I then check this script into the build system.
This way all developers get the changes the next time they check out and
run the build. The tool used to make the changes does not really matter as
long as the end result is an SQL script that incrementally updates the
schema.

After the changes have been applied to production using the incremental
script, these statements become part of the master SQL script that creates
the schema.

This system has worked pretty well for us for small/medium sized projects.

Regards,
Sami

===================================
This list is hosted by DevelopMentorŪ  http://www.develop.com
Some .NET courses you may be interested in:

NEW! Guerrilla ASP.NET, 17 May 2004, in Los Angeles
http://www.develop.com/courses/gaspdotnetls

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to