huge refactoring to clean up SQLTDM and allow running of arbitraty perl in upgrades...
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / WithReasonableDefaults.pm
diff --git a/lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm b/lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm
new file mode 100644 (file)
index 0000000..56997df
--- /dev/null
@@ -0,0 +1,22 @@
+package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
+use Moose::Role;
+
+requires qw( prepare_upgrade prepare_downgrade database_version schema_version );
+
+around qw( prepare_upgrade prepare_downgrade ) => sub {
+  my $orig = shift;
+  my $self = shift;
+
+  my $from_version = shift || $self->database_version;
+  my $to_version   = shift || $self->schema_version;
+  my $version_set  = shift || [$from_version, $to_version];
+
+  $self->$orig($from_version, $to_version, $version_set);
+};
+
+
+1;
+
+__END__
+
+vim: ts=2 sw=2 expandtab