[Bast-commits] r8891 - in DBIx-Class/0.08/trunk: . lib/DBIx
lib/DBIx/Class/Schema t
acmoore at dev.catalyst.perl.org
acmoore at dev.catalyst.perl.org
Fri Mar 5 21:37:55 GMT 2010
Author: acmoore
Date: 2010-03-05 21:37:55 +0000 (Fri, 05 Mar 2010)
New Revision: 8891
Modified:
DBIx-Class/0.08/trunk/Changes
DBIx-Class/0.08/trunk/lib/DBIx/Class.pm
DBIx-Class/0.08/trunk/lib/DBIx/Class/Schema/Versioned.pm
DBIx-Class/0.08/trunk/t/94versioning.t
Log:
Fix regression where SQL files with comments were not handled properly by ::Schema::Versioned.
Modified: DBIx-Class/0.08/trunk/Changes
===================================================================
--- DBIx-Class/0.08/trunk/Changes 2010-03-05 18:56:38 UTC (rev 8890)
+++ DBIx-Class/0.08/trunk/Changes 2010-03-05 21:37:55 UTC (rev 8891)
@@ -1,5 +1,7 @@
Revision history for DBIx::Class
+ - Fix regression where SQL files with comments were not
+ handled properly by ::Schema::Versioned.
- Fix regression on not properly throwing when $obj->relationship
is unresolvable
- Add has_relationship method to row objects
Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class/Schema/Versioned.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class/Schema/Versioned.pm 2010-03-05 18:56:38 UTC (rev 8890)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class/Schema/Versioned.pm 2010-03-05 21:37:55 UTC (rev 8891)
@@ -709,12 +709,12 @@
my @data = split /\n/, join '', <$fh>;
close $fh;
- @data = grep {
- $_ &&
- !/^--/ &&
- !/^(BEGIN|BEGIN TRANSACTION|COMMIT)/m
- } split /;/,
- join '', @data;
+ @data = split /;/,
+ join '',
+ grep { $_ &&
+ !/^--/ &&
+ !/^(BEGIN|BEGIN TRANSACTION|COMMIT)/mi }
+ @data;
return \@data;
}
Modified: DBIx-Class/0.08/trunk/lib/DBIx/Class.pm
===================================================================
--- DBIx-Class/0.08/trunk/lib/DBIx/Class.pm 2010-03-05 18:56:38 UTC (rev 8890)
+++ DBIx-Class/0.08/trunk/lib/DBIx/Class.pm 2010-03-05 21:37:55 UTC (rev 8891)
@@ -222,6 +222,8 @@
aherzog: Adam Herzog <adam at herzogdesigns.com>
+amoore: Andrew Moore <amoore at cpan.org>
+
andyg: Andy Grundman <andy at hybridized.org>
ank: Andres Kievsky
Modified: DBIx-Class/0.08/trunk/t/94versioning.t
===================================================================
--- DBIx-Class/0.08/trunk/t/94versioning.t 2010-03-05 18:56:38 UTC (rev 8890)
+++ DBIx-Class/0.08/trunk/t/94versioning.t 2010-03-05 21:37:55 UTC (rev 8891)
@@ -165,6 +165,37 @@
is($schema_v3->get_db_version(), '3.0', 'db version number upgraded');
}
+# Now, try a v1 -> v3 upgrade with a file that has comments strategically placed in it.
+# First put the v1 schema back again...
+{
+ # drop all the tables...
+ eval { $schema_v1->storage->dbh->do('drop table ' . $version_table_name) };
+ eval { $schema_v1->storage->dbh->do('drop table ' . $old_table_name) };
+ eval { $schema_v1->storage->dbh->do('drop table TestVersion') };
+
+ {
+ local $DBICVersion::Schema::VERSION = '1.0';
+ $schema_v1->deploy;
+ }
+ is($schema_v1->get_db_version(), '1.0', 'get_db_version 1.0 ok');
+}
+
+# add a "harmless" comment before one of the statements.
+system( qq($^X -pi -e "s/ALTER/-- this is a comment\nALTER/" $fn->{trans_v23};) );
+
+# Then attempt v1 -> v3 upgrade
+{
+ local $SIG{__WARN__} = sub { warn if $_[0] !~ /Attempting upgrade\.$/ };
+ $schema_v3->upgrade();
+ is($schema_v3->get_db_version(), '3.0', 'db version number upgraded to 3.0');
+
+ # make sure that the column added after the comment is actually added.
+ lives_ok ( sub {
+ $schema_v3->storage->dbh->do('select ExtraColumn from TestVersion');
+ }, 'new column created');
+}
+
+
# check behaviour of DBIC_NO_VERSION_CHECK env var and ignore_version connect attr
{
my $schema_version = DBICVersion::Schema->connect($dsn, $user, $pass);
More information about the Bast-commits
mailing list