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 | |
23 | my $schema = DBICVersion::Schema->connect("dbi:SQLite:$db_file"); |
24 | # $schema->storage->ensure_connected(); |
25 | |
26 | is($schema->ddl_filename('SQLite', 't/var', '1.0'), 't/var/DBICVersion-Schema-1.0-SQLite.sql', 'Filename creation working'); |
27 | $schema->create_ddl_dir('SQLite', undef, 't/var'); |
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 | |
33 | my $tvrs = $schema->resultset('Table'); |
34 | is($schema->exists($tvrs), 1, 'Created schema from DDL file'); |
35 | |
36 | eval "use DBICVersionNew"; |
37 | my $schema2 = DBICVersion::Schema->connect("dbi:SQLite:$db_file"); |
38 | |
39 | unlink('t/var/DBICVersion-Schema-2.0-SQLite.sql'); |
40 | unlink('t/var/DBICVersion-Schema-1.0-2.0-SQLite.sql'); |
41 | $schema2->create_ddl_dir('SQLite', undef, 't/var', '1.0'); |
42 | ok(-f 't/var/DBICVersion-Schema-1.0-2.0-SQLite.sql', 'Created DDL upgrade file'); |
43 | |
44 | ## do this here or let Versioned.pm do it? |
45 | $schema2->upgrade(); |
46 | $tvrs = $schema2->resultset('Table'); |
47 | is($schema2->exists($tvrs), 1, 'Upgraded schema from DDL file'); |