[Dbix-class] Ideas for database versioning.
pmeidl at ist.ac.at
Tue Nov 6 09:21:34 GMT 2012
On Tue, Nov 06 2012, Alexander Hartmaier <alexander.hartmaier at t-systems.at> wrote:
> What about a version table with a single version column that is
> checked at model connect time if the database schema version is what
> the model expects?
I use such an approach.
I have a 'meta' table where is store all sorts of meta information as
key/value pairs. the schema_version is stored there. I write my
migrations as SQL files with a version number in the filename and a
pre-defined comment block at the beginning of the file describing the
patch. a utility script (migrate_db.pl) then looks in the database for
the current version, applies all newer patches, writes the patch
comments in a 'migration' table and bumps the schema_version. works well
for me in combination with the DBIc schema loader (also done by a little
helper script for convenience).
what I do not do yet is check for an expected schema_version in my
application, but that actually sounds like a good idea
(ticket created ;-)
Patrick Meidl, Mag.
Senior Expert Software Engineering
IST - Institute of Science and Technology Austria
Am Campus 1
A-3400 Klosterneuburg, Austria
T +43 2243 9000 1063
E pmeidl at ist.ac.at
More information about the DBIx-Class