6 use File::Path 'remove_tree';
11 unlink 'db.db' if -e 'db.db';
20 my $db = 'dbi:SQLite:db.db';
21 my @connection = ($db, '', '', { ignore_version => 1 });
22 my $sql_dir = 't/sql';
27 use_ok 'DBICVersion_v1';
28 my $s = DBICVersion::Schema->connect(@connection);
29 ok($s, 'DBICVersion::Schema 1.0 instantiates correctly');
30 my $handler = $bundle->new({
31 upgrade_directory => $sql_dir,
33 databases => 'SQLite',
34 sqltargs => { add_drop_table => 0 },
37 ok($handler, 'DBIx::Class::DeploymentHandler w/1.0 instantiates correctly');
39 my $version = $s->schema_version();
40 $handler->prepare_install();
43 $s->resultset('Foo')->create({
46 } 'schema not deployed';
50 } 'cannot install twice';
52 $s->resultset('Foo')->create({
55 } 'schema is deployed';
59 use_ok 'DBICVersion_v2';
60 my $s = DBICVersion::Schema->connect(@connection);
61 ok($s, 'DBICVersion::Schema 2.0 instantiates correctly');
62 my $handler = $bundle->new({
63 upgrade_directory => $sql_dir,
65 databases => 'SQLite',
68 ok($handler, 'DBIx::Class::DeploymentHandler w/2.0 instantiates correctly');
70 my $version = $s->schema_version();
71 $handler->prepare_install();
72 $handler->prepare_upgrade('1.0', $version);
73 $handler->prepare_upgrade($version, '1.0');
75 $s->resultset('Foo')->create({
79 } 'schema not deployed';
81 $s->resultset('Foo')->create({
85 } 'schema not uppgrayyed';
88 $s->resultset('Foo')->create({
92 } 'schema is deployed';
96 use_ok 'DBICVersion_v3';
97 my $s = DBICVersion::Schema->connect(@connection);
98 ok($s, 'DBICVersion::Schema 3.0 instantiates correctly');
99 my $handler = $bundle->new({
100 upgrade_directory => $sql_dir,
102 databases => 'SQLite',
105 ok($handler, 'DBIx::Class::DeploymentHandler w/3.0 instantiates correctly');
107 my $version = $s->schema_version();
108 $handler->prepare_install;
109 $handler->prepare_upgrade( '1.0', $version );
110 $handler->prepare_upgrade( '2.0', $version );
112 $s->resultset('Foo')->create({
117 } 'schema not deployed';
120 $s->resultset('Foo')->create({
125 } 'schema is deployed';