Board index » delphi » Development DB Synchronization

Development DB Synchronization


2003-12-05 11:36:50 PM
delphi178
We have 5 developers, 3 QA people and several "sales" people that need
current databases.
The problem lies in the fact that during "demos" and testing and
development, data gets entered by each of them and they may want to keep
that data when an upgrade is done.
We know that we can keep an updated copy of the DB on a central
server and have each user DTS that copy to their local machines.
We also know that we can send out backups and have everyone do a restore
to their local DBs. But these options do not readily solve the problem
of allowing each user to keep his own data.
How have you all handled this and is there a "magic bullet" that will
help us to keep all our DBs updated AND keep our local data entact?
We are using MS SQL Server 2000 on WinXP.
 
 

Re:Development DB Synchronization

Since the structure typically changes from release to release, I built an
application that reverse engineered the data into SQL DML commands.
Basically the application enumerated all the tables and their relationships
and spit out a bunch of INSERT INTO commands to a text file. You could
then create a brand new database with the new master DDL script, and run
the generated SQL to populate the new structure. Any incompatible changes
in structure would require mostly trivial find/replace changes in the SQL
script.
Eric
 

Re:Development DB Synchronization

Eric Hill writes:
Quote
Since the structure typically changes from release to release, I
built an application that reverse engineered the data into SQL DML
commands. Basically the application enumerated all the tables and
their relationships and spit out a bunch of INSERT INTO commands to a
text file.
How would you handle BLOB fields? You couldn't write the contents of those
into a text file.
--Rob McDonell
 

Re:Development DB Synchronization

Quote
How would you handle BLOB fields? You couldn't write the contents of those
into a text file.
See these two PL/SQL functions:
download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions53a.htm
download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions97a.htm
They are HEXTORAW and RAWTOHEX. They make dumping binary data into text
easy :)
If you don't have something like this available, locate the primary key for
the table, then extract the binary data into files named by primary key and
stored in folders named the same as the table.
Eric