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