[Bast-commits] r4123 - in DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class: Manual Schema

captainL at dev.catalyst.perl.org captainL at dev.catalyst.perl.org
Tue Mar 4 23:14:24 GMT 2008


Author: captainL
Date: 2008-03-04 23:14:23 +0000 (Tue, 04 Mar 2008)
New Revision: 4123

Modified:
   DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Manual/Cookbook.pod
   DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Schema/Versioned.pm
Log:
improved docs and added env var to skip version checks on connect

Modified: DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Manual/Cookbook.pod
===================================================================
--- DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Manual/Cookbook.pod	2008-03-04 20:41:32 UTC (rev 4122)
+++ DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Manual/Cookbook.pod	2008-03-04 23:14:23 UTC (rev 4123)
@@ -1123,7 +1123,7 @@
 
 Add the L<DBIx::Class::Schema::Versioned> schema component to your
 Schema class. This will add a new table to your database called
-C<SchemaVersions> which will keep track of which version is installed
+C<dbix_class_schema_vesion> which will keep track of which version is installed
 and warn if the user trys to run a newer schema version than the
 database thinks it has.
 

Modified: DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Schema/Versioned.pm
===================================================================
--- DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Schema/Versioned.pm	2008-03-04 20:41:32 UTC (rev 4122)
+++ DBIx-Class/0.08/branches/versioned_enhancements/lib/DBIx/Class/Schema/Versioned.pm	2008-03-04 23:14:23 UTC (rev 4123)
@@ -157,7 +157,7 @@
     my ($self, $rs) = @_;
 
     my $vtable = $self->{vschema}->resultset('Table');
-    my $version;
+    my $version = 0;
     eval {
       my $stamp = $vtable->get_column('installed')->max;
       $version = $vtable->search({ installed => $stamp })->first->version;
@@ -397,6 +397,18 @@
     return 1;
 }
 
+=head2 connection
+
+Overloaded method. This checks the DBIC schema version against the DB version and
+warns if they are not the same or if the DB is unversioned. It also provides
+compatibility between the old versions table (SchemaVersions) and the new one
+(dbix_class_schema_versions).
+
+To avoid the checks on connect, set the env var DBIC_NO_VERSION_CHECK. This can be
+useful for scripts.
+
+=cut
+
 sub connection {
   my $self = shift;
   $self->next::method(@_);
@@ -420,7 +432,10 @@
       $self->storage->dbh->do("DROP TABLE " . $vtable_compat->result_source->from);
     }
   }
-
+  
+  # useful when connecting from scripts etc
+  return if ($ENV{DBIC_NO_VERSION_CHECK});
+  
   my $pversion = $self->get_db_version();
 
   if($pversion eq $self->schema_version)




More information about the Bast-commits mailing list