drop table patch from Slaven, closes: CPAN#27936
[DBIx-DBSchema.git] / DBSchema.pm
index 95ac630..b821d16 100644 (file)
@@ -4,14 +4,14 @@ use strict;
 use vars qw($VERSION $DEBUG $errstr);
 use Storable;
 use DBIx::DBSchema::_util qw(_load_driver _dbh);
-use DBIx::DBSchema::Table 0.04;
+use DBIx::DBSchema::Table 0.05;
 use DBIx::DBSchema::Index;
 use DBIx::DBSchema::Column;
 use DBIx::DBSchema::ColGroup::Unique;
 use DBIx::DBSchema::ColGroup::Index;
 
-$VERSION = "0.33";
-#$VERSION = eval $VERSION; # modperlstyle: convert the string into a number
+$VERSION = "0.34_01";
+$VERSION = eval $VERSION; # modperlstyle: convert the string into a number
 
 $DEBUG = 0;
 
@@ -289,7 +289,17 @@ sub sql_update_schema {
   
   }
 
-  # should eventually drop tables not in $new
+  # drop tables not in $new
+  foreach my $table ( $self->tables ) {
+
+    if ( !$new->table($table) ) {
+
+      warn "table $table should be dropped.\n" if $DEBUG;
+
+      push @r,
+       $self->table($table)->sql_drop_table( $dbh );
+    }
+  }
 
   warn join("\n", @r). "\n"
     if $DEBUG > 1;