Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Version control of Oracle Stored Objects.

Re: Version control of Oracle Stored Objects.

From: Malcolm Dew-Jones <yf110_at_vtn1.victoria.tc.ca>
Date: 4 Mar 2005 14:13:40 -0800
Message-ID: <4228dd94@news.victoria.tc.ca>


Lig (lignite_at_iol.ie) wrote:
: Andy :

: - VSS Integration only has copy locally; The compilation of the code
: takes place on the Server.

: - Developers can check in and check out code.But f they dont do it,who
: am I to blame for incorrect code creeping in?

: Instead , if I can force them to use VersionControl,then I can audit
: changes.

: Imagine a situation where I checkout a package and start to edit it. In
: the process, if the package on the server is changed, I try to get the
: version again from the server, will this version not be newer to the one
: I have?

: Correct me if I am wrong.Am I missing something here ?

Well, notice that the version control controls access to the _source code_ in the _version control file space_. Two people can certainly update the source code outside of that file space (i.e. their local work area.) That's the way it works.

Now what you need to do is implement the same thing with the oracle server that receives the _compiled_ code.

I.e. Give each developer their own database instance where they do anything they want. This is where they play and test and compile to their heart's content. It is possible to fine tune these areas - play with permissions, symonyms, views, etc, so that the developer doesn't literally have to have their own copy of every item, just the things that they potentially need to update.

But _also_ you need to provide a shared database instance that is more tightly controlled. Then provide a capability for a developer to request that code _from the source control system_ (only!) be compiled into the shared database instance. That should be the only way for this to happen.

For production you want a person to do this. For development a script that automates the process is probably fine. If the source control provides mail notification, for example, then make a script that receives the notifications and acts on them. Or a simple web app that gives a developer pre-set options that rebuild a portion of the database objects.

(An app that runs every few minutes and checks for mail notifications will implicitly serialize any updates so there is never that type of conflict.)

For very small teams of people you trust, simply agree amongst yourselves to only ever update the shared instance from checked in code (though even here the automation of this step is beneficial).

--

This space not for rent.
Received on Fri Mar 04 2005 - 16:13:40 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US