1 package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
4 # ABSTRACT: Make default arguments to a few methods sensible
6 requires qw( prepare_upgrade prepare_downgrade database_version schema_version );
8 around prepare_upgrade => sub {
11 my $args = shift || {};
13 $args->{from_version} ||= $self->database_version;
14 $args->{to_version} ||= $self->schema_version;
15 $args->{version_set} ||= [$args->{from_version}, $args->{to_version}];
21 around prepare_downgrade => sub {
25 my $args = shift || {};
27 $args->{to_version} ||= $self->database_version;
28 $args->{from_version} ||= $self->schema_version;
29 $args->{version_set} ||= [$args->{from_version}, $args->{to_version}];
34 around install_resultsource => sub {
38 my $version = shift || $self->to_version;
40 $self->$orig($source, $version);
47 vim: ts=2 sw=2 expandtab
51 The whole point of this role is to set defaults for arguments of various
52 methods. It's a little awesome.
56 =head2 prepare_upgrade
60 my $from_version = $self->database_version;
61 my $to_version = $self->schema_version;
62 my $version_set = [$from_version, $to_version];
64 =head2 prepare_downgrade
68 my $from_version = $self->schema_version;
69 my $to_version = $self->data_version;
70 my $version_set = [$from_version, $to_version];
72 =head2 install_resultsource
76 my $version = $self->to_version;