1 package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
5 # ABSTRACT: Make default arguments to a few methods sensible
7 requires qw( prepare_upgrade prepare_downgrade database_version schema_version );
9 around prepare_upgrade => sub {
12 my $args = shift || {};
14 $args->{from_version} ||= $self->database_version;
15 $args->{to_version} ||= $self->schema_version;
16 $args->{version_set} ||= [$args->{from_version}, $args->{to_version}];
22 around prepare_downgrade => sub {
26 my $args = shift || {};
28 $args->{to_version} ||= $self->database_version;
29 $args->{from_version} ||= $self->schema_version;
30 $args->{version_set} ||= [$args->{from_version}, $args->{to_version}];
35 around install_resultsource => sub {
39 my $version = shift || $self->to_version;
41 $self->$orig($source, $version);
48 vim: ts=2 sw=2 expandtab
52 The whole point of this role is to set defaults for arguments of various
53 methods. It's a little awesome.
57 =head2 prepare_upgrade
61 my $from_version = $self->database_version;
62 my $to_version = $self->schema_version;
63 my $version_set = [$from_version, $to_version];
65 =head2 prepare_downgrade
69 my $from_version = $self->schema_version;
70 my $to_version = $self->data_version;
71 my $version_set = [$from_version, $to_version];
73 =head2 install_resultsource
77 my $version = $self->to_version;