DBIx-Class-Migration
view release on metacpan or search on metacpan
use strict;
use warnings;
use Test::Most;
use Test::Requires { 'Capture::Tiny' => 0.19 };
use DBIx::Class::Migration::Script;
plan skip_all => 'DBICM_TEST_HELP not set'
unless $ENV{DBICM_TEST_HELP} || $ENV{AUTHOR_MODE};
ok(my $r = Capture::Tiny::capture_stdout {
local @ARGV = ("help");
DBIx::Class::Migration::Script->run_with_options;
});
like $r,
qr/DBIx::Class::Migration::Script::Help - Summary of the commands/sm,
'help command produces expected output';
done_testing;
t/missing-schema-version.t view on Meta::CPAN
use Test::Most;
use DBIx::Class::Migration::Script;
use File::Temp 'tempdir';
use lib 't/lib';
use_ok 'Local::Schema';
my $dir = tempdir(DIR => 't', CLEANUP => 1);
lives_ok {
local @ARGV = (
"status",
"--schema_class" => 'Local::Schema',
"--target_dir" => $dir,
);
DBIx::Class::Migration::Script->run_with_options;
} 'status = ok';
lives_ok {
local $ENV{DBIC_MIGRATION_SCHEMA_CLASS} = 'Local::Schema';
local @ARGV = (
"status",
"--target_dir" => $dir,
);
DBIx::Class::Migration::Script->run_with_options;
} 'status = ok with ENV';
throws_ok {
# MooX::Options on ->new failing prints to STDERR, doesn't re-throw
local @ARGV = (
"status",
"--schema_class" => 'Local::Schema',
"--target_dir" => $dir,
"--database" => 'DefinitelyNotValid',
);
DBIx::Class::Migration::Script->run_with_options;
} qr/Unknown database type/, 'status invalid db = right message';
throws_ok {
local $Local::Schema::VERSION = undef;
local @ARGV = (
"status",
"--schema_class" => 'Local::Schema',
"--target_dir" => $dir,
);
DBIx::Class::Migration::Script->run_with_options;
} qr/A \$VERSION needs to be specified in your schema class Local\:\:Schema/, 'status no version = not ok';
done_testing;
t/upgrade-downgrade-sqlite.t view on Meta::CPAN
is $rocker->name, 'Rocker One';
}
CHECK_TO_VERSION_FIXTURE: {
# keep same fixtures, zap SQLite DB so start from fresh
my $file = $schema_args->[0];
$file =~ s#^(.*?:){2}##;
ok unlink($file), "deleted db '$file' ok";
require DBIx::Class::Migration::Script;
local @ARGV = (
'--schema_class' => 'Local::v2::Schema',
'--to_version' => 1,
'--target_dir' => $dir,
'install'
);
ok(
my $migration = DBIx::Class::Migration::Script->new_with_options,
'created migration with lowered to_version');
is $migration->to_version, 1, 'DH has correct version';
( run in 1.387 second using v1.01-cache-2.11-cpan-49f99fa48dc )