Database Version Control

Posts   
 
    
lotek
User
Posts: 56
Joined: 14-Sep-2005
# Posted on: 13-Jan-2006 00:26:42   

Im search around for a good database version control method. What does everyone here do?

There is the classic script all changes to a file method, but im wondering if there is anything else.

Thanks! Matt

Walaa avatar
Walaa
Support Team
Posts: 14950
Joined: 21-Aug-2005
# Posted on: 13-Jan-2006 06:59:57   

just out of curiosity...May I ask why you need something else rather than maintaining the database generation script?

pilotboba
User
Posts: 434
Joined: 05-Aug-2005
# Posted on: 13-Jan-2006 19:56:18   

lotek wrote:

Im search around for a good database version control method. What does everyone here do?

There is the classic script all changes to a file method, but im wondering if there is anything else.

Thanks! Matt

Take a look at DB Ghost. We have been using it for over a year, and it is awesome solution.

http://www.innovartis.co.uk/home.aspx

BOb

jtgooding
User
Posts: 126
Joined: 26-Apr-2004
# Posted on: 13-Jan-2006 21:15:15   

just out of curiosity...May I ask why you need something else rather than maintaining the database generation script?

I can't imagine doing stuff with DB scripts, with 15 developers modifying the database, keeping track of who did what when, and what script to use, while managing 1500 tables, etc.

If you are looking for ways to replicate an existing system, DB scripts are the way to go, for change management in my opinion its like using a command line ftp tool in linux vs any other modern ftp tool.

I'm not saying they don't have their place, just day to day management of an evolving DB they would be my last answer to that problem.

We use a tool from IMCEDA called SQL IDE Pro, well its now QUEST (mergers suck) and it appears they may be killing the product off to replace it with their product TOAD, but in my opnion TOAD isn't quite there yet.

SQL IDE Pro uses SQL Server and VSS to coordinate checking in and out of stored procs, tables, views, triggers, functions etc. plus has sql script centralization management, sql intellisense, full text search through all db objects and many more features.

A tool like this keeps people from stepping on each other; only one person can check out a proc at a time, and allows you to see the full change history visually between various versions which is very helpful when trying to track down when and why some process broke.

If Quest really kills the SQL IDE product we will probably move over to the Apex SQL product now that they have added a centralized DB backend.

John

mattsmith321 avatar
Posts: 146
Joined: 04-Oct-2004
# Posted on: 16-Jan-2006 20:32:34   

lotek wrote:

Im search around for a good database version control method. What does everyone here do?

I know several other people have already responded with good solutions, but we actually manage our database with Visual Studio and VSS. I know, probably doesn't work for everybody and has tons of related issues. However...

There are only two of us and our application has 20-30 tables. We make a DB change about once every other week. So far, for the past 9 months, it has worked pretty well. Of course, since we are using LLBL, we only have table changes and no stored procedure changes so that reduces complexity some.

I'm trying to find the article that helped us get started, but it just basically involved creating a Database project in Visual Studio. There are a couple of options that you check to always save DB script changes to a file. We then add each new file to a Changes folder in the project/VSS. In addition, we have a DBVersions table that we update for every script we run against the table. We can then easily look at the DB to determine where we are, etc.

Don't knock it till you try it!

Matt

mattsmith321 avatar
Posts: 146
Joined: 04-Oct-2004
# Posted on: 16-Jan-2006 20:36:39   

mattsmith321 wrote:

I'm trying to find the article that helped us get started, but it just basically involved creating a Database project in Visual Studio.

This isn't the article I was looking for, but it does cover what we do pretty well: http://aspnet.4guysfromrolla.com/articles/071305-1.aspx

gabrielk avatar
gabrielk
User
Posts: 231
Joined: 01-Feb-2005
# Posted on: 21-Jan-2006 12:27:36   

For what it's worth: I use SQL Delta which does a great job for comparison, so also for showing differences.

Gab