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 {
12 my $from_version = shift || $self->database_version;
13 my $to_version = shift || $self->schema_version;
14 my $version_set = shift || [$from_version, $to_version];
16 $self->$orig($from_version, $to_version, $version_set);
20 around prepare_downgrade => sub {
24 my $from_version = shift || $self->database_version;
25 my $to_version = shift || $self->schema_version;
26 my $version_set = shift || [$from_version, $to_version];
28 $self->$orig($from_version, $to_version, $version_set);
31 around install_resultsource => sub {
35 my $version = shift || $self->to_version;
37 $self->$orig($source, $version);
44 vim: ts=2 sw=2 expandtab
48 The whole point of this role is to set defaults for arguments of various
49 methods. It's a little awesome.
53 =head2 prepare_upgrade
57 my $from_version = $self->database_version;
58 my $to_version = $self->schema_version;
59 my $version_set = [$from_version, $to_version];
61 =head2 prepare_downgrade
65 my $from_version = $self->database_version;
66 my $to_version = $self->schema_version;
67 my $version_set = [$to_version];
69 =head2 install_resultsource
73 my $version = $self->to_version;