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
lesmikesell_at_gmail.com
Received on 2010-10-29 20:19:32 CEST