Re: Database Change Control Process

  • From: William Robertson <william@xxxxxxxxxxxxxxxxxxxx>
  • To: "jpatterson@xxxxxxxxxx" <jpatterson@xxxxxxxxxx>
  • Date: Wed, 26 Feb 2014 14:11:22 +0000

Yes Subversion supports header tags and so does Perforce, and I seem to fight a 
lone battle to persuade developers to use them.

I recently learned that Git does not have this feature, and that the whole idea 
is regarded as somewhat passé by 3GL developers who can only conceive of 
compiling executables from a directory structure. I can't find it now but one 
discussion on Stackexchange linked to some comments from Thorvalds about how 
trivial it was to find the version of something without it (I'm hoping they 
were taken out of context). I even had a couple of our C# geniuses at my desk 
the other day chortling about version tags - apparently they "just use source 
control".

William Robertson


On 26 Feb 2014, at 13:44, "Patterson, Joel" <jpatterson@xxxxxxxxxx> wrote:

We use Subversion, but we also do not have any (hardly) stored procedures, 
functions etc.
 
In the ‘old’ days I believe the same product went by PVCS.  Then a code… like 
$header (or something $version?) could be put in the top of every stored 
procedure which would then be used automatically by PVCS to put the version 
there during check in.   Perhaps Subversion does this I don’t know.
 
So in the end you can see what versions are actually in the database by 
querying user_source, or otherwise looking at the procedure.  Look for the code 
line $version for instance
 
This proved to be quite convenient in a system that was built almost entirely 
inside the DB.
 
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Ram Srinivasan
Sent: Wednesday, February 26, 2014 6:15 AM
To: manuelaout@xxxxxxxxxxxxxx
Cc: Oracle-L Group
Subject: Re: Database Change Control Process
 
Thank you Manuela.  I will look into this 'liquibase' tool very soon.  
Everybody here hates Designer.
 
Ram Srinivasan
 

On Wed, Feb 26, 2014 at 3:56 AM, Manuela Atoui <manuelaout@xxxxxxxxxxxxxx> 
wrote:
Dear All,

in my current project we use liquibase for database changes (DB objects, PL/SQL 
code...).
All the applied changes are written in the log table databasechangelog and a 
md5sum is created for every entry to keep track of the changes.

Here's the link to a small tutorial using liquibase ona an Oracle database. The 
tutorial uses a small self-contained example.

http://www.liquibase.org/tutorial-using-oracle

A lot of documentation and information is availabel at

http://www.liquibase.org/

Best regards and have a nice Wednesday,

Manuela Atoui
 

On Wed, Feb 26, 2014 at 7:34 AM, Iliya Peregoudov <iperegudov@xxxxxxxx> wrote:
Our company have developed in-house change tracking and distribution system. 
This system tracks database objects and database changes. The system uses two 
major components, change repository and change tool.

Change description contains list of objects this change affects and list of SQL 
scripts to execute to actually apply the change. The change tool is used to 
create the change from change description and sql scripts and put the change 
into the change repository.

The change tool is used to apply the change from the change repository into the 
target database schema. The tool will check dependencies, execute scripts, and 
create a record in the change repository about successful change application. 
These records are used to check dependencies.

Changes are grouped into changesets. The change tool can export changeset from 
the change repository into file, and can import changeset from file into the 
change repository. This is used to distribute changesets from developer change 
repository to client change repository.


On 25.02.2014 20:25, Jeff C wrote:
I am curious how everybody handle database change control.  I am not
talking about just source control for your code but the process of
moving changes into the database, like procedure changes, alter tables,
indexes, manually update of data, etc.  Do you have a formal process to
go through and what is that like if you are willing to share.
We are a private company so things have been kind of light here and we
don't have any credit card data.  We source control, plus we have a
project/bug tracking program that most but not all code changes are
related to, and then all code is reviewed before moving to production.
  Oh and I have a ddl trigger enable to save all updates.  But I don't
feel like all of this tells a true story.  I think we need something
more formal and I am trying to gather ideas and opinions before I move
forward with the idea.

Thanks for any input.

Jeff
 
--
//www.freelists.org/webpage/oracle-l


 


 
-- 
Sincerely
Ram Srinivasan
 
-- 
Joel Patterson
Sr. Database Administrator | Enterprise Integration
Phone: 904-928-2790 | Fax: 904-733-4916 
www.entint.com
 

 
      
 
This message (and any associated files) is intended only for the use 
of the addressee and may contain information that is confidential, 
subject to copyright or constitutes a trade secret. If you are not the 
intended recipient, you are hereby notified that any dissemination, 
copying or distribution of this message, or files associated with this 
message, is strictly prohibited. If you have received this message in 
error, please notify us immediately by replying to the message and 
deleting it from your computer. Messages sent to and from us may be 
monitored. Any views or opinions presented are solely those of the 
author and do not necessarily represent those of the company. [v.1.1]

Other related posts: