Ensure that ignore_ddl works without generated SQL
Arthur Axel 'fREW' Schmidt [Wed, 2 Jun 2010 02:28:51 +0000 (21:28 -0500)]
lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator.pm
t/02-instantiation-no-ddl.t

index c298cdd..22f0f9a 100644 (file)
@@ -96,7 +96,11 @@ method __ddl_consume_with_prefix($type, $versions, $prefix) {
   if (-d $main) {
     $dir = catfile($main, $prefix, join q(-), @{$versions})
   } else {
-    croak "$main does not exist; please write/generate some SQL";
+    if ($self->ignore_ddl) {
+      return []
+    } else {
+      croak "$main does not exist; please write/generate some SQL"
+    }
   }
 
   my %files;
index ff169c3..7355f9d 100644 (file)
@@ -27,7 +27,7 @@ VERSION1: {
     ignore_ddl => 1,
     script_directory => $sql_dir,
     schema => $s,
-    databases => 'SQLite',
+    databases => [],
     sql_translator_args => { add_drop_table => 0 },
   });
 
@@ -61,7 +61,7 @@ VERSION2: {
     ignore_ddl => 1,
     script_directory => $sql_dir,
     schema => $s,
-    databases => 'SQLite',
+    databases => [],
   });
 
   ok($handler, 'DBIx::Class::DeploymentHandler w/2 instantiates correctly');
@@ -98,7 +98,7 @@ VERSION3: {
     ignore_ddl => 1,
     script_directory => $sql_dir,
     schema => $s,
-    databases => 'SQLite',
+    databases => [],
   });
 
   ok($handler, 'DBIx::Class::DeploymentHandler w/3 instantiates correctly');
@@ -131,7 +131,7 @@ DOWN2: {
     ignore_ddl => 1,
     script_directory => $sql_dir,
     schema => $s,
-    databases => 'SQLite',
+    databases => [],
   });
 
   ok($handler, 'DBIx::Class::DeploymentHandler w/2 instantiates correctly');