X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler.pm;h=a29af6fc5329d4947e79e3f09a87f9c8fa37f674;hb=ba99ba446d9681700bccaa7816959af3600b5cb9;hp=44cc22fdfa4079e731d1dbc7cef598c963b00558;hpb=961d42b1b180a6fa3abf7d751ef56e184e8b6d96;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler.pm b/lib/DBIx/Class/DeploymentHandler.pm index 44cc22f..a29af6f 100644 --- a/lib/DBIx/Class/DeploymentHandler.pm +++ b/lib/DBIx/Class/DeploymentHandler.pm @@ -11,8 +11,8 @@ with 'DBIx::Class::DeploymentHandler::WithApplicatorDumple' => { interface_role => 'DBIx::Class::DeploymentHandler::HandlesDeploy', class_name => 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator', delegate_name => 'deploy_method', - attributes_to_assume => ['schema'], - attributes_to_copy => [qw( databases upgrade_directory sql_translator_args )], + attributes_to_assume => [qw(schema schema_version)], + attributes_to_copy => [qw( ignore_ddl databases script_directory sql_translator_args )], }, 'DBIx::Class::DeploymentHandler::WithApplicatorDumple' => { interface_role => 'DBIx::Class::DeploymentHandler::HandlesVersioning', @@ -31,17 +31,20 @@ with 'DBIx::Class::DeploymentHandler::WithReasonableDefaults'; sub prepare_version_storage_install { my $self = shift; - $self->prepare_resultsource_install( - $self->version_storage->version_rs->result_source - ); + $self->prepare_resultsource_install({ + result_source => $self->version_storage->version_rs->result_source + }); } sub install_version_storage { my $self = shift; - $self->install_resultsource( - $self->version_storage->version_rs->result_source - ); + my $version = (shift||{})->{version} || $self->schema_version; + + $self->install_resultsource({ + result_source => $self->version_storage->version_rs->result_source, + version => $version, + }); } sub prepare_install { @@ -49,6 +52,9 @@ sub prepare_install { $_[0]->prepare_version_storage_install; } +# the following is just a hack so that ->version_storage +# won't be lazy +sub BUILD { $_[0]->version_storage } __PACKAGE__->meta->make_immutable; 1; @@ -171,7 +177,7 @@ Lucky for you I had you in mind when I wrote this doc. First off, you'll want to just install the C: my $s = My::Schema->connect(...); - my $dh = DBIx::Class::DeploymentHandler({ schema => $s }); + my $dh = DBIx::Class::DeploymentHandler->({ schema => $s }); $dh->prepare_version_storage_install; $dh->install_version_storage; @@ -182,6 +188,21 @@ Then set your database version: Now you should be able to use C like normal! +=head1 LOGGING + +This is a complex tool, and because of that sometimes you'll want to see +what exactly is happening. The best way to do that is to use the built in +logging functionality. It the standard six log levels; C, C, +C, C, C, and C. Most of those are pretty self +explanatory. Generally a safe level to see what all is going on is debug, +which will give you everything except for the exact SQL being run. + +To enable the various logging levels all you need to do is set an environment +variables: C, C, C, C, +C, and C. Each level can be set on it's own, +but the default is the first three on and the last three off, and the levels +cascade, so if you turn on trace the rest will turn on automatically. + =head1 DONATIONS If you'd like to thank me for the work I've done on this module, don't give me