initial cut at install_resultsource (and therefore install_version_storage)
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / WithReasonableDefaults.pm
CommitLineData
41219a5d 1package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
2use Moose::Role;
3
4requires qw( prepare_upgrade prepare_downgrade database_version schema_version );
5
4a65f60b 6around prepare_upgrade => sub {
41219a5d 7 my $orig = shift;
8 my $self = shift;
9
10 my $from_version = shift || $self->database_version;
11 my $to_version = shift || $self->schema_version;
12 my $version_set = shift || [$from_version, $to_version];
13
14 $self->$orig($from_version, $to_version, $version_set);
15};
16
17
4a65f60b 18around prepare_downgrade => sub {
19 my $orig = shift;
20 my $self = shift;
21
22 my $from_version = shift || $self->database_version;
23 my $to_version = shift || $self->schema_version;
24 my $version_set = shift || [$to_version, $from_version];
25
26 $self->$orig($from_version, $to_version, $version_set);
27};
28
c8a2f7bd 29around install_resultsource => sub {
30 my $orig = shift;
31 my $self = shift;
32 my $source = shift;
33 my $version = shift || $self->to_version;
34
35 $self->$orig($source, $version);
36};
4a65f60b 37
41219a5d 381;
39
40__END__
41
42vim: ts=2 sw=2 expandtab