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 )