1 package DBIx::Class::DeploymentHandler::HandlesVersioning;
4 requires 'next_version_set';
7 isa => 'DBIx::Class::Schema',
10 handles => [qw( ddl_filename schema_version )],
14 isa => 'DBIx::Class::ResultSet',
17 handles => [qw( is_installed db_version )],
20 sub _build_version_rs {
21 $_[0]->schema->set_us_up_the_bomb;
22 $_[0]->schema->resultset('__VERSION')
30 sub _build_to_version { $_[0]->schema->schema_version }
36 # normally a VersionHandler will take
37 # a to_version and yeild an iterator of
38 # "version sets" or something like that.
40 # A "version set" is basically an arrayref
41 # of "version numbers" (which we already know
42 # is vague as is.) Typically an call to a
43 # VH w/ a db version of 1 and a "to_version"
44 # of 5 will iterate over something like this:
50 # Of course rob wants to be able to have dep
51 # management with his versions, so I *think* his
52 # would work like this:
54 # to_version = 7, db_version = 1
59 # Because 7 depended on 5, 5 was installed first;
60 # note that this potentially never released module
61 # doesn't use version pairs, instead it just yeilds
62 # versions. Version pairs are too much work for users
63 # to have to deal with in that sitation. We may
64 # actually switch to this for other versioners.
66 # The upshot of all this is that the DeploymentMethod
67 # needs to be able to take an ArrayRef[VersionNumber],
68 # instead of just a pair of VersionNumber.
69 vim: ts=2 sw=2 expandtab