Commit | Line | Data |
f9c6ab50 |
1 | #!perl |
2 | |
cbbd1b5f |
3 | use strict; |
4 | use warnings; |
5 | |
f9c6ab50 |
6 | use Test::More; |
7 | use Test::Exception; |
8 | |
9 | use lib 't/lib'; |
10 | use DBICDHTest; |
11 | use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator'; |
12 | use File::Spec::Functions; |
13 | use File::Path qw(rmtree mkpath); |
14 | |
f3b5161e |
15 | my $dbh = DBICDHTest::dbh(); |
624e3018 |
16 | my @connection = (sub { $dbh }, { ignore_version => 1 }); |
f9c6ab50 |
17 | my $sql_dir = 't/sql'; |
18 | |
19 | DBICDHTest::ready; |
20 | |
21 | VERSION1: { |
22 | use_ok 'DBICVersion_v1'; |
23 | my $s = DBICVersion::Schema->connect(@connection); |
24 | my $dm = Translator->new({ |
25 | schema => $s, |
26 | script_directory => $sql_dir, |
27 | databases => ['SQLite'], |
28 | sql_translator_args => { add_drop_table => 0 }, |
29 | }); |
30 | |
31 | $dm->prepare_deploy; |
32 | $dm->deploy; |
33 | } |
34 | |
35 | VERSION2: { |
36 | use_ok 'DBICVersion_v2'; |
37 | my $s = DBICVersion::Schema->connect(@connection); |
38 | my $dm = Translator->new({ |
39 | schema => $s, |
40 | script_directory => $sql_dir, |
41 | databases => ['SQLite'], |
42 | sql_translator_args => { add_drop_table => 0 }, |
43 | txn_wrap => 1, |
44 | }); |
45 | |
f9c6ab50 |
46 | $dm->prepare_deploy; |
58eb99c3 |
47 | mkpath(catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 ))); |
f9c6ab50 |
48 | open my $prerun, '>', |
58eb99c3 |
49 | catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 003-semiautomatic.pl )); |
f9c6ab50 |
50 | print {$prerun} |
51 | 'sub { |
52 | use File::Touch; |
53 | touch(q(robotparty)) |
54 | if $_[0]->isa("SQL::Translator::Schema") |
55 | && $_[1]->isa("SQL::Translator::Schema"); |
56 | }'; |
57 | close $prerun; |
58 | $dm->prepare_upgrade({ |
59 | from_version => '1.0', |
60 | to_version => '2.0', |
61 | version_set => [qw(1.0 2.0)] |
62 | }); |
63 | ok -e 'robotparty', 'intermediate script ran with the right args'; |
64 | $dm->upgrade_single_step({ version_set => [qw( 1.0 2.0 )] }); |
65 | } |
66 | done_testing; |
67 | #vim: ts=2 sw=2 expandtab |