X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=maint%2Fgen_sqlite_schema_files;h=0ac70ec2b69e40e7fc4c5e49c44f8220c425c793;hb=50841788d03e2342a00470eb2f458e717922615b;hp=03db9992bd4964c62572c7e68aad60b2ba13098d;hpb=6635c6d22b8b28954db80113273584027e16d9e1;p=dbsrgits%2FDBIx-Class.git diff --git a/maint/gen_sqlite_schema_files b/maint/gen_sqlite_schema_files index 03db999..0ac70ec 100755 --- a/maint/gen_sqlite_schema_files +++ b/maint/gen_sqlite_schema_files @@ -4,8 +4,8 @@ use strict; use warnings; use Module::Runtime 'use_module'; +use DBIx::Class::_Util qw(mkdir_p parent_dir); use SQL::Translator; -use Path::Class 'file'; use Getopt::Long; my $getopt = Getopt::Long::Parser->new( config => [qw/gnu_getopt bundling_override no_ignore_case/] @@ -26,6 +26,7 @@ die "You need to specify one DBIC schema class via --schema-class\n" die "You may not specify more than one deploy path via --deploy-to\n" if @{$args->{'deploy-to'}||[]} > 1; +local $ENV{DBI_DSN}; my $schema = use_module( $args->{'schema-class'}[0] )->connect( $args->{'deploy-to'} ? ( "DBI:SQLite:$args->{'deploy-to'}[0]", undef, undef, { on_connect_do => "PRAGMA synchronous = OFF" } ) @@ -33,7 +34,7 @@ my $schema = use_module( $args->{'schema-class'}[0] )->connect( ); if ($args->{'deploy-to'}) { - file($args->{'deploy-to'}[0])->dir->mkpath; + mkdir_p parent_dir $args->{'deploy-to'}[0]; $schema->deploy({ add_drop_table => 1 }); } @@ -42,10 +43,9 @@ if ($args->{'ddl-out'}[0] eq '-') { $ddl_fh = *STDOUT; } else { - my $fn = file($args->{'ddl-out'}[0]); - $fn->dir->mkpath; - open $ddl_fh, '>', $fn - or die "Unable to open $fn: $!\n"; + mkdir_p parent_dir $args->{'ddl-out'}[0]; + open $ddl_fh, '>', $args->{'ddl-out'}[0] + or die "Unable to open $args->{'ddl-out'}[0]: $!\n"; } binmode $ddl_fh; # avoid win32 \n crapfest