[Dbix-class] Still trouble with versioning.pm and related tests

John Napiorkowski jjn1056 at yahoo.com
Wed May 30 18:23:49 GMT 2007


--- Jess Robinson <castaway at desert-island.me.uk>
wrote:

> 
> On Wed, 30 May 2007, John Napiorkowski wrote:
> 
> > Well,
> >
> > I've checked all my versions and everything seems
> to
> > be in order, but I still fail the versioning test:
> >
> > john at john-desktopvm:~/Desktop/dbix-current$ perl
> > t/94versioning.t
> > 1..6
> > ok 1 - use DBICVersionOrig;
> > No previous version found, calling deploy to
> install
> > this version.
> > ok 2 - Filename creation working
> > ok 3 - Created DDL file
> > ok 4 - Created schema from DDL file
> > Upgrade not possible, no upgrade file found
> > (t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql)
> > Diff: t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql:
> > SQLite, t/var, 2.0, 1.0
> > ok 5 - Created DDL upgrade file
> > Upgrade not possible, no upgrade file found
> > (t/var/DBICVersion-Schema-1.0-2.000-SQLite.sql)
> > Can't use an undefined value as an ARRAY reference
> at
> >
>
/home/john/Desktop/dbix-current/lib//DBIx/Class/Schema/Versioned.pm
> > line 189.
> > # Looks like you planned 6 tests but only ran 5.
> > # Looks like your test died just after 5.
> > john at john-desktopvm:~/Desktop/dbix-current$
> >
> > After this I have a leftover 'var' directory in
> the
> > test area, since the unlinks at the end of the
> script
> > never run.  Everything there looks okay to me, but
> > again I'm not sure what's supposed to me there.
> >
> > My gut is telling me it's the $self->VERSION call
> > returning 2.000 instead of 2.0, because I never
> see a
> > matching filename created for that.  Does that
> seem to
> > ring any bells for anyone?
> 
> Now that's a useful hint. Yes, it's likely to be, as
> it uses VERSION to 
> build the filenames.. but, it should also use
> VERSION to create the file 
> name as well... weird!
> 
> Some strange copy of the "version" module maybe?
> 
> Jess


When I updated version the problem went away:

john at john-desktopvm:~/Desktop/dbix-current$ perl
t/94versioning.t 
1..6
ok 1 - use DBICVersionOrig;
No previous version found, calling deploy to install
this version.
ok 2 - Filename creation working
ok 3 - Created DDL file
ok 4 - Created schema from DDL file
Upgrade not possible, no upgrade file found
(t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql)
Diff: t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql:
SQLite, t/var, 2.0, 1.0 
ok 5 - Created DDL upgrade file
Versions out of sync. This is 2.0, your database
contains version 1.0, please call upgrade on your
Schema.
ok 6 - Upgraded schema from DDL file


Unfortunately in my haste to try out the suggestion I
failed to check to see what version of version I used
to have.  My home setup is similar so I'll check that
tonight to see if I can get a better understanding.

However for now looks like perhaps requiring7 a new
version solves the issue.

My Perl is 5.8.8 compiled on March 2007 and was what
came with Ubuntu 6 which I recently upgraded to 7.04

I had the problem with this prior to the Ubuntu
upgrade so I'm not sure exactly the issue.  I'll look
into further when I have access to my other
development box.

Thanks for the suggestion.  Running prove t passes all
tests for me and I'm also passing all my tests for my
current application so I'm good.

--John


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Dbix-class mailing list