On 10/29/2010 1:06 PM, Dieter Oberkofler wrote:
Giulio,

I'm not sure if I correctly understood all the details of your questions but
I have been using Subversion in an environment that mostly consists of
C/C++, Java and an Oracle Database for quite some time and would be happy to
share my experience.

 From my general perspective managing PL/SQL in a version control system is
quite the same as managing any other sources.

The real complex thing is how to manage and upgrade the different
revisions/version of the database structure itself.
In our environment each "shippable" (alpha, beta, production) version of our
database structure (including PL/SQL) is tagged in Subversion.
The tag contains a snapshot of the scripts (SQL and PL/SQL) needed to create
a new database and additionally contains the appropriate update scripts
(typically a set of SQL Scripts executed in SQL*Plus) needed to update the
last revision to this one.
For an update we then use a custom developed application that determines the
source revision of the database and to witch revision to update, extracts
all the needed tags and executes the appropriate update scripts in each
tagged revision in the proper order.


There's something called liquibase (http://www.liquibase.org) that is supposed to manage this for you. I don't know much about it other than that it is used by the OpenNMS project and run as an update step to fix schema changes between versions.

--
  Les Mikesell
   lesmikes...@gmail.com



Reply via email to