[Dbix-class] Versioned Cluelessness

Christopher Laco claco at chrislaco.com
Tue Jul 8 04:27:43 BST 2008


I thought this would be easy. Apparently I'm stupid.

I have a schema, which has a $VERSION. I've loaded the Versioned 
component and created two scripts. The first script simply calls 
$schema->create_ddl_dir with the current/prev versions and directory. 
The second script simply calls $schema->upgrade

I've had no issues creating the versioned sql files themselves; both for 
each version (Schema-1.sql, Schema-2.sql) and for the diffs between 
versions (Schema-1-2.sql). Those files contain nothing extraordinary. I 
just added column.

What has me stumnped is the initial deploy. If I simply do:

   $schema->connect('dbi:SQLite:database.db')->upgrade;

I get warnings about the db not being versioned, and then the versioned 
table is created. However, no other schema tables are created. I thought 
that update() by itself ran all statements (run_upgrade sets ||= qr//;)

I know Versioned is finding the right upgrade_directory because if I 
upgrade to a non-existing .sql file version, if bitches about not 
finding the file (but it does find 1-2*.sql from above).

Yes, I'm using SQLite, but the upgrade does a simple alter. No indexes 
or any other odd magic are involved it would seem.

What am I missing?

-=Chris



More information about the DBIx-Class mailing list