use lib 't/lib';
use DBICDHTest;
use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator';
-use File::Spec::Functions;
+use File::Spec::Functions qw(catfile splitdir);
use File::Path qw(rmtree mkpath);
+use File::Temp qw(tempfile tempdir);
-my $dbh = DBI->connect('dbi:SQLite::memory:');
+my $dbh = DBICDHTest::dbh();
my @connection = (sub { $dbh }, { ignore_version => 1 });
-my $sql_dir = 't/sql';
-
-DBICDHTest::ready;
+my $sql_dir = tempdir( CLEANUP => 1 );
VERSION1: {
use_ok 'DBICVersion_v1';
});
$dm->prepare_deploy;
- mkpath(catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 )));
+ mkpath(catfile(splitdir($sql_dir), qw(_preprocess_schema upgrade 1.0-2.0 )));
open my $prerun, '>',
- catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 003-semiautomatic.pl ));
+ catfile(splitdir($sql_dir), qw(_preprocess_schema upgrade 1.0-2.0 003-semiautomatic.pl ));
+ my (undef, $fn) = tempfile(OPEN => 0);
print {$prerun}
- 'sub {
- use File::Touch;
- touch(q(robotparty))
- if $_[0]->isa("SQL::Translator::Schema")
- && $_[1]->isa("SQL::Translator::Schema");
- }';
+ qq^sub {
+ open my \$fh, ">", '$fn'
+ if \$_[0]->isa("SQL::Translator::Schema")
+ && \$_[1]->isa("SQL::Translator::Schema");
+ }^;
close $prerun;
$dm->prepare_upgrade({
from_version => '1.0',
to_version => '2.0',
version_set => [qw(1.0 2.0)]
});
- ok -e 'robotparty', 'intermediate script ran with the right args';
+ ok -e $fn, 'intermediate script ran with the right args';
$dm->upgrade_single_step({ version_set => [qw( 1.0 2.0 )] });
}
done_testing;