X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FDBIx%2FClass.pm;h=abb6c1547409686f7a97dff1be7c5a3ce21110a7;hb=1999a918889b6301e58ff439cefcf90be9d121b2;hp=32fe04fd86feb14a6157663da7a64ecd630779ad;hpb=0a064375d784ed0ae14c345c5766db048abb8a2b;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/SQL/Translator/Parser/DBIx/Class.pm b/lib/SQL/Translator/Parser/DBIx/Class.pm index 32fe04f..abb6c15 100644 --- a/lib/SQL/Translator/Parser/DBIx/Class.pm +++ b/lib/SQL/Translator/Parser/DBIx/Class.pm @@ -292,9 +292,16 @@ EOW } my %views; - foreach my $moniker (sort keys %view_monikers) + my @view_sources = + sort { + (exists $a->depends_on->{$b->source_name} ? 1 : 0) + <=> + (exists $b->depends_on->{$a->source_name} ? 1 : 0) + } + map { $dbicschema->source($_) } (sort keys %@view_monikers); + + foreach my $source (@view_sources) { - my $source = $dbicschema->source($moniker); my $view_name = $source->name; # FIXME - this isn't the right way to do it, but sqlt does not