DBIx-Class-Migration

 view release on metacpan or  search on metacpan

t/help.t  view on Meta::CPAN

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 )