From: Arthur Axel 'fREW' Schmidt Date: Fri, 26 Feb 2010 14:54:35 +0000 (-0600) Subject: notes from a dream X-Git-Tag: v0.001000_01~119 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2440e3114ce895e939047cf772333eb4967e3eb1;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git notes from a dream --- diff --git a/lib/DBIx/Class/DeploymentHandler/DatabaseToSchemaVersions.pm b/lib/DBIx/Class/DeploymentHandler/DatabaseToSchemaVersions.pm index 0c4a249..f93c166 100644 --- a/lib/DBIx/Class/DeploymentHandler/DatabaseToSchemaVersions.pm +++ b/lib/DBIx/Class/DeploymentHandler/DatabaseToSchemaVersions.pm @@ -2,6 +2,40 @@ package DBIx::Class::DeploymentHandler::DatabaseToSchemaVersions; use Moose; use Method::Signatures::Simple; +# normally a VersionHandler will take +# a to_version and yeild an iterator of +# "version sets" or something like that. +# +# A "version set" is basically an arrayref +# of "version numbers" (which we already know +# is vague as is.) Typically an call to a +# VH w/ a db version of 1 and a "to_version" +# of 5 will iterate over something like this: +# [1, 2] +# [2, 3] +# [3, 4] +# [4, 5] +# +# Of course rob wants to be able to have dep +# management with his versions, so I *think* his +# would work like this: +# +# to_version = 7, db_version = 1 +# [1] +# [5] +# [7] +# +# Because 7 depended on 5, 5 was installed first; +# note that this potentially never released module +# doesn't use version pairs, instead it just yeilds +# versions. Version pairs are too much work for users +# to have to deal with in that sitation. We may +# actually switch to this for other versioners. +# +# The upshot of all this is that the DeploymentMethod +# needs to be able to take an ArrayRef[VersionNumber], +# instead of just a pair of VersionNumber. + has schema => ( isa => 'DBIx::Class::Schema', is => 'ro',