databse version

Started by Philipp Krausalmost 13 years ago6 messagesgeneral
Jump to latest
#1Philipp Kraus
philipp.kraus@flashpixx.de

Hello,

I'm creating a database and I have got a table with a "version" field.
Can I update on structure changes (DDL) like create / update table
increment this field automatically?
I would like to create a versionizing for my database which counts the changes.
IMHO I need a trigger, which is run if a DDL statement is fired on the database

Thanks

Phil

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Philipp Kraus (#1)
Re: databse version

On 06/10/2013 12:52 AM, Philipp Kraus wrote:

Hello,

I'm creating a database and I have got a table with a "version" field.
Can I update on structure changes (DDL) like create / update table
increment this field automatically?
I would like to create a versionizing for my database which counts the
changes.
IMHO I need a trigger, which is run if a DDL statement is fired on the
database

In the current beta 9.3 there are event triggers that would seem to be
what you are looking for:

http://www.postgresql.org/docs/9.3/static/event-triggers.html

Thanks

Phil

--
Adrian Klaver
adrian.klaver@gmail.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3John R Pierce
pierce@hogranch.com
In reply to: Philipp Kraus (#1)
Re: databse version

On 6/10/2013 12:52 AM, Philipp Kraus wrote:

I'm creating a database and I have got a table with a "version" field.
Can I update on structure changes (DDL) like create / update table
increment this field automatically?
I would like to create a versionizing for my database which counts the
changes.
IMHO I need a trigger, which is run if a DDL statement is fired on the
database

so if someone runs a script that does a half dozen create/alters, you
want to bump your version that many times?

we handle our version control by not allowing anyone to make direct
changes, instead all changes need to be made with .sql scripts, of which
we maintain two sets, one to create a new schema version x.y, and the
other to update x.y-1 to x.y. and yes, part of these scripts stores
the version in a configuration table of (key,value) pairs, like
('version','x.y')

--
john r pierce 37N 122W
somewhere on the middle of the left coast

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#4Scott Marlowe
scott.marlowe@gmail.com
In reply to: John R Pierce (#3)
Re: databse version

We use this system for versioning:

http://pyrseas.wordpress.com/2011/02/18/sql-database-version-control-%E2%80%93-depesz-versioning/

Works like a champ.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#5Luca Ferrari
fluca1978@infinito.it
In reply to: Philipp Kraus (#1)
Re: databse version

On Mon, Jun 10, 2013 at 9:52 AM, Philipp Kraus
<philipp.kraus@flashpixx.de> wrote:

Hello,

I'm creating a database and I have got a table with a "version" field.

Not sure, but if the version field is something like the version row
indicator used by some frameworks (e.g., Hibernate), then you are
going to place the updated version into all your records, that does
not sound as versioning at all!

Luca

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#6Philipp Kraus
philipp.kraus@flashpixx.de
In reply to: Philipp Kraus (#1)
Re: databse version

On 2013-06-11 00:42:59 +0200, John R Pierce said:

On 6/10/2013 12:52 AM, Philipp Kraus wrote:

I'm creating a database and I have got a table with a "version" field.
Can I update on structure changes (DDL) like create / update table
increment this field automatically?
I would like to create a versionizing for my database which counts the changes.
IMHO I need a trigger, which is run if a DDL statement is fired on the database

so if someone runs a script that does a half dozen create/alters, you
want to bump your version that many times?

we handle our version control by not allowing anyone to make direct
changes, instead all changes need to be made with .sql scripts, of
which we maintain two sets, one to create a new schema version x.y, and
the other to update x.y-1 to x.y. and yes, part of these scripts
stores the version in a configuration table of (key,value) pairs, like
('version','x.y')

You're right. The database versionizing seems to be a problem, but I
would like run a automatism for versionizing eg the commit hash on git.
I have got a SQL script with the create calls
(alter will be create in the future). So our buildsystem get the head
of the git repo and builds the application, the database sql script is
also stored in the repo. In my case I would dump the database on the
developer server, check if the repo script and the dump script are
equal and if not, I increment the version number in dem dump script and
push it into the repo.

On the release process the version counting is depend on the prior
release. I think about a number like <release>.<subrelease>.<changes>

Phil

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general