[Bast-commits] r6101 - in trunk/DBIx-Class-Schema-Loader: .
lib/DBIx/Class/Schema/Loader
ilmari at dev.catalyst.perl.org
ilmari at dev.catalyst.perl.org
Fri May 1 20:11:19 GMT 2009
Author: ilmari
Date: 2009-05-01 20:11:19 +0000 (Fri, 01 May 2009)
New Revision: 6101
Modified:
trunk/DBIx-Class-Schema-Loader/Changes
trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/Base.pm
trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/RelBuilder.pm
Log:
Fix for DBIx::Class 0.081
- Pass schema object, not class, to RelBuilder
- Reregister classes after building the relationships
Modified: trunk/DBIx-Class-Schema-Loader/Changes
===================================================================
--- trunk/DBIx-Class-Schema-Loader/Changes 2009-05-01 20:09:49 UTC (rev 6100)
+++ trunk/DBIx-Class-Schema-Loader/Changes 2009-05-01 20:11:19 UTC (rev 6101)
@@ -4,6 +4,7 @@
- Fix Oracle constraint detection for non-owned schemas (RT #35732)
- Add result_base_class and schema_base_class options (RT #43977)
- Handle ResultSetManager deprecation warning in common tests
+ - Fix for DBIx::Class 0.081
0.04005 Sat Apr 05, 2008
- Fix DB2 support
Modified: trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/Base.pm
===================================================================
--- trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/Base.pm 2009-05-01 20:09:49 UTC (rev 6100)
+++ trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/Base.pm 2009-05-01 20:11:19 UTC (rev 6101)
@@ -263,7 +263,7 @@
if $self->{dump_overwrite};
$self->{relbuilder} = DBIx::Class::Schema::Loader::RelBuilder->new(
- $self->schema_class, $self->inflect_plural, $self->inflect_singular
+ $self->schema, $self->inflect_plural, $self->inflect_singular
) if !$self->{skip_relationships};
$self;
@@ -728,9 +728,11 @@
foreach my $src_class (sort keys %$rel_stmts) {
my $src_stmts = $rel_stmts->{$src_class};
- foreach my $stmt (@$src_stmts) {
+ foreach my $stmt (@{$src_stmts->{stmts}}) {
$self->_dbic_stmt($src_class,$stmt->{method},@{$stmt->{args}});
}
+ $self->schema_class->register_class($src_stmts->{moniker}, $src_class);
+ $self->schema->register_class($src_stmts->{moniker}, $src_class) if $self->schema_class ne $self->schema;
}
}
Modified: trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/RelBuilder.pm
===================================================================
--- trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/RelBuilder.pm 2009-05-01 20:09:49 UTC (rev 6100)
+++ trunk/DBIx-Class-Schema-Loader/lib/DBIx/Class/Schema/Loader/RelBuilder.pm 2009-05-01 20:11:19 UTC (rev 6101)
@@ -24,9 +24,9 @@
=head2 new
-Arguments: schema_class (scalar), inflect_plural, inflect_singular
+Arguments: schema inflect_plural, inflect_singular
-C<$schema_class> should be a schema class name, where the source
+C<$schema> should be a schema instance, where the source
classes have already been set up and registered. Column info, primary
key, and unique constraints will be drawn from this schema for all
of the existing source monikers.
@@ -187,7 +187,7 @@
delete $rev_cond{$_};
}
- push(@{$all_code->{$local_class}},
+ push(@{$all_code->{$local_class}{stmts}},
{ method => 'belongs_to',
args => [ $remote_relname,
$remote_class,
@@ -195,8 +195,9 @@
],
}
);
+ $all_code->{$local_class}{moniker} = $local_moniker;
- push(@{$all_code->{$remote_class}},
+ push(@{$all_code->{$remote_class}{stmts}},
{ method => 'has_many',
args => [ $local_relname,
$local_class,
@@ -204,6 +205,7 @@
],
}
);
+ $all_code->{$remote_class}{moniker} = $remote_moniker;
}
return $all_code;
More information about the Bast-commits
mailing list