Commit | Line | Data |
c9d2e0a2 |
1 | #!/usr/bin/perl |
2 | use strict; |
3 | use warnings; |
4 | use Test::More; |
86ef9f0d |
5 | use File::Spec; |
c9d2e0a2 |
6 | |
7 | BEGIN { |
8 | eval "use DBD::SQLite; use SQL::Translator;"; |
9 | plan $@ |
10 | ? ( skip_all => 'needs DBD::SQLite and SQL::Translator for testing' ) |
11 | : ( tests => 6 ); |
12 | } |
13 | |
14 | use lib qw(t/lib); |
15 | |
16 | use_ok('DBICVersionOrig'); |
17 | |
18 | my $db_file = "t/var/versioning.db"; |
19 | unlink($db_file) if -e $db_file; |
20 | unlink($db_file . "-journal") if -e $db_file . "-journal"; |
21 | mkdir("t/var") unless -d "t/var"; |
22 | unlink('t/var/DBICVersion-Schema-1.0-SQLite.sql'); |
23 | |
e2c0df8e |
24 | my $schema_orig = DBICVersion::Schema->connect("dbi:SQLite:$db_file"); |
c9d2e0a2 |
25 | # $schema->storage->ensure_connected(); |
26 | |
339e3fd0 |
27 | is($schema_orig->ddl_filename('SQLite', 't/var', '1.0'), File::Spec->catfile('t', 'var', 'DBICVersion-Schema-1.0-SQLite.sql'), 'Filename creation working'); |
e2c0df8e |
28 | $schema_orig->create_ddl_dir('SQLite', undef, 't/var'); |
c9d2e0a2 |
29 | |
30 | ok(-f 't/var/DBICVersion-Schema-1.0-SQLite.sql', 'Created DDL file'); |
31 | ## do this here or let Versioned.pm do it? |
32 | # $schema->deploy(); |
33 | |
e2c0df8e |
34 | my $tvrs = $schema_orig->resultset('Table'); |
35 | is($schema_orig->exists($tvrs), 1, 'Created schema from DDL file'); |
c9d2e0a2 |
36 | |
37 | eval "use DBICVersionNew"; |
e2c0df8e |
38 | my $schema_new = DBICVersion::Schema->connect("dbi:SQLite:$db_file"); |
c9d2e0a2 |
39 | |
40 | unlink('t/var/DBICVersion-Schema-2.0-SQLite.sql'); |
41 | unlink('t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql'); |
e2c0df8e |
42 | $schema_new->create_ddl_dir('SQLite', undef, 't/var', '1.0'); |
c9d2e0a2 |
43 | ok(-f 't/var/DBICVersion-Schema-1.0-2.0-SQLite.sql', 'Created DDL upgrade file'); |
44 | |
e2c0df8e |
45 | ## create new to pick up filedata for upgrade files we just made (on_connect) |
46 | my $schema_upgrade = DBICVersion::Schema->connect("dbi:SQLite:$db_file"); |
47 | |
c9d2e0a2 |
48 | ## do this here or let Versioned.pm do it? |
e2c0df8e |
49 | $schema_upgrade->upgrade(); |
50 | $tvrs = $schema_upgrade->resultset('Table'); |
51 | is($schema_upgrade->exists($tvrs), 1, 'Upgraded schema from DDL file'); |
8795fefb |
52 | |
53 | unlink($db_file) if -e $db_file; |
54 | unlink($db_file . "-journal") if -e $db_file . "-journal"; |
55 | unlink('t/var/DBICVersion-Schema-1.0-SQLite.sql'); |
56 | unlink('t/var/DBICVersion-Schema-2.0-SQLite.sql'); |
57 | unlink('t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql'); |
58 | unlink(<t/var/backup/*>); |