use lib 't/lib';
use DBICDHTest;
-use DBICTest;
use aliased 'DBIx::Class::DeploymentHandler::VersionStorage::Standard';
+use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator';
use DBICVersion_v1;
use DBIx::Class::DeploymentHandler;
DBICDHTest::ready;
-my $handler = DBIx::Class::DeploymentHandler->new({
+my $dm = Translator->new({
+ schema => $s,
upgrade_directory => $sql_dir,
- schema => $s,
- databases => 'SQLite',
- sqltargs => { add_drop_table => 0 },
+ databases => ['SQLite'],
+ sqltargs => { add_drop_table => 0 },
});
-$handler->prepare_install();
-
my $vs = Standard->new({ schema => $s });
+$dm->prepare_resultsource_install(
+ $vs->version_rs->result_source
+);
+
ok( $vs, 'DBIC::DH::VersionStorage::Standard instantiates correctly' );
ok( !$vs->version_storage_is_installed, 'VersionStorage is not yet installed' );
-$handler->install();
+$dm->install_resultsource(
+ $vs->version_rs->result_source,
+ '1.0',
+);
ok( $vs->version_storage_is_installed, 'VersionStorage is now installed' );
-cmp_deeply(
- [ map +{
- version => $_->version,
- ddl => $_->ddl,
- upgrade_sql => $_->upgrade_sql,
- }, $vs->version_rs->search(undef, {order_by => 'id'})->all],
- [{
- version => '1.0',
- ddl => undef,
- upgrade_sql => undef
- }],
+$vs->add_database_version({
+ version => '1.0',
+});
+
+ok(
+ eq_array(
+ [ $vs->version_rs->search(undef, {order_by => 'id'})->get_column('version')->all],
+ [ '1.0' ],
+ ),
'initial version works correctly'
);
});
is( $vs->database_version, '2.0', 'database version is 2.0');
-cmp_deeply(
- [ map +{
- version => $_->version,
- ddl => $_->ddl,
- upgrade_sql => $_->upgrade_sql,
- }, $vs->version_rs->search(undef, {order_by => 'id'})->all],
- [{
- version => '1.0',
- ddl => undef,
- upgrade_sql => undef
- },{
- version => '2.0',
- ddl => undef,
- upgrade_sql => undef
- }],
+ok(
+ eq_array(
+ [ $vs->version_rs->search(undef, {order_by => 'id'})->get_column('version')->all],
+ [ '1.0', '2.0', ],
+ ),
'adding another version works correctly'
);