DBIx-Class-Migration

 view release on metacpan or  search on metacpan

lib/DBIx/Class/Migration/Script.pm  view on Meta::CPAN

  is => 'ro',
  isa => ArrayRef,
  predicate => 'has_includes',
  short => join('|', qw(include I lib libs)),
  format => 's@',
);

has schema => (
  is=>'ro', predicate=>'has_schema',
);

option schema_class => (
  is => 'ro', isa => Str,
  predicate=>'has_schema_class', env_prefix=>ENV_PREFIX,
  short => 'S', format => 's',
);

option target_dir => (
  is => 'ro', isa=> Str,
  predicate=>'has_target_dir', env_prefix=>ENV_PREFIX,
  short => 'dir', format => 's',
);

option sandbox_dir => (
  is => 'ro', isa=> Str,
  predicate=>'has_sandbox_dir', env_prefix=>ENV_PREFIX,
  format => 's',
);

option username => (
  is => 'ro', isa => Str,
  default => '', env_prefix=>ENV_PREFIX, short => 'U',
  format => 's',
);

option password => (
  is => 'ro', isa => Str,
  default => '', env_prefix=>ENV_PREFIX, short => 'P',
  format => 's',
);

option dsn => (
  is => 'ro',
  env_prefix=>ENV_PREFIX, isa => Str,
  format => 's',
);

option force_overwrite => (
  is => 'ro', isa => Bool,
  predicate=>'has_force_overwrite',
  short => 'O',
);

option to_version => (
  is => 'ro', isa => Int,
  predicate=>'has_to_version',
  short => 'V', format => 'i',
);

option sql_translator_args => (
  is => 'ro', isa => HashRef,
  predicate=>'has_sql_translator_args',
  default => sub { +{ quote_identifiers => 1 }},
  format => 's%',
);

option databases => (
  is => 'ro', isa => ArraySQLTProducers,
  predicate=>'has_databases',
  short => 'database', format => 's@',
);

option sandbox_class => (
  is => 'ro', isa => Str,
  predicate=>'has_sandbox_class', default=>SANDBOX_SQLITE,
  env_prefix=>ENV_PREFIX,
  short => 'T|sb', format => 's',
);

option dbic_fixture_class => (
  is => 'ro', isa => Str,
  predicate=>'has_dbic_fixture_class',
  format => 's',
);

option dbic_fixtures_extra_args => (
  is => 'ro', isa => HashRef,
  predicate=>'has_dbic_fixtures_extra_args',
  format => 's%',
);

option dbic_connect_attrs => (
  is => 'ro', isa => HashRef,
  predicate=>'has_dbic_connect_attrs',
  format => 's%',
);

option dbi_connect_attrs => (
  is => 'ro', isa => HashRef,
  predicate=>'has_dbi_connect_attrs',
  format => 's%',
);

option extra_schemaloader_args => (
  is => 'ro', isa => HashRef,
  predicate=>'has_extra_schemaloader_args',
  format => 's%',
);

option fixture_sets => (
  is=>'ro',
  isa=>ArrayRef,
  default => sub { +['all_tables'] },
  short => 'fixture_set', format => 's@',
);

  sub _delegated_commands {
    map { 'cmd_'.$_ => $_ } qw(
      version status prepare install upgrade
      downgrade drop_tables delete_table_rows
      dump_all_sets make_schema install_if_needed
      dump diagram install_version_storage );
  }

has migration_class => (
  is => 'ro',
  default => 'DBIx::Class::Migration',
  isa => LoadableClass,
);

option migration_sandbox_builder_class => (
  is => 'ro', isa => Str, predicate=>'has_migration_sandbox_builder_class',
  format => 's%',
);

has migration => (
  is => 'lazy',
  handles => { _delegated_commands },
);

  sub _prepare_schema_args {
    my $self = shift;
    my @schema_args;
    if($self->dsn) {
      push @schema_args, ($self->dsn,
       $self->username, $self->password);
    } else {
      warn "no --dsn argument was found, defaulting to a local SQLite database\n";
    }
    if($self->has_dbi_connect_attrs) {
      push @schema_args, $self->dbi_connect_attrs;
    }
    if($self->has_dbic_connect_attrs) {
      push @schema_args, {} unless $self->has_dbi_connect_attrs;
      push @schema_args, $self->dbic_connect_attrs;
    }
    return @schema_args;
  }

  sub _prepare_dbic_dh_args {
    my $self = shift;
    return (
      ($self->has_force_overwrite ? (force_overwrite => $self->force_overwrite) : ()),
      ($self->has_target_dir && $self->target_dir ? (script_directory=>$self->target_dir) : ()),
      ($self->has_to_version ? (to_version=>$self->to_version) : ()),



( run in 1.539 second using v1.01-cache-2.11-cpan-39bf76dae61 )