use deferred fk checks also for dropping tables
Luke Saunders [Wed, 4 Feb 2009 11:43:10 +0000 (11:43 +0000)]
MANIFEST
lib/DBIx/Class/Fixtures.pm

index e9c3f7d..d457e4b 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -15,8 +15,6 @@ lib/DBIx/Class/Fixtures/DBI.pm
 lib/DBIx/Class/Fixtures/DBI/mysql.pm
 lib/DBIx/Class/Fixtures/DBI/Pg.pm
 lib/DBIx/Class/Fixtures/Schema.pm
-lib/DBIx/Class/Fixtures/SchemaVersioned.pm
-lib/DBIx/Class/Fixtures/Versioned.pm
 Makefile.PL
 MANIFEST                       This list of files
 META.yml
index 7e7e05e..f4434a1 100644 (file)
@@ -713,10 +713,11 @@ sub _generate_schema {
 
   # clear existing db
   $self->msg("- clearing DB of existing tables");
-  eval { $dbh->do('SET foreign_key_checks=0') };
-  foreach my $table (@tables) {
-    eval { $dbh->do('drop table ' . $table . ($params->{cascade} ? ' cascade' : '') ) };
-  }
+  $pre_schema->storage->with_deferred_fk_checks(sub {
+    foreach my $table (@tables) {
+      eval { $dbh->do('drop table ' . $table . ($params->{cascade} ? ' cascade' : '') ) };
+    }
+  });
 
   # import new ddl file to db
   my $ddl_file = $params->{ddl};