package DBIx::Class::DeploymentHandler::HandlesVersioning;
use Moose::Role;
+# note: the sets returned need to match!
requires 'next_version_set';
+requires 'previous_version_set';
-has schema => (
- isa => 'DBIx::Class::Schema',
- is => 'ro',
- required => 1,
- handles => [qw( ddl_filename schema_version )],
-);
+1;
-has version_rs => (
- isa => 'DBIx::Class::ResultSet',
- is => 'ro',
- lazy_build => 1,
- handles => [qw( is_installed db_version )],
-);
+__END__
-sub _build_version_rs {
- $_[0]->schema->set_us_up_the_bomb;
- $_[0]->schema->resultset('__VERSION')
-}
+=method next_version_set
-has to_version => (
- is => 'ro',
- lazy_build => 1,
-);
+ while (my $version_set = $versions->next_version_set) {
+ ...
+ }
-sub _build_to_version { $_[0]->schema->schema_version }
+=method previous_version_set
-1;
-
-__END__
+ while (my $version_set = $versions->previous_version_set) {
+ ...
+ }
# normally a VersionHandler will take
# a to_version and yeild an iterator of