X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler.pm;h=1fd2038e7e5ae890d4bdca4768f6ed8905b68ea2;hb=73caa630f1795abc83d57c6b08becc8395215e94;hp=4d27efea73b9c19a668ab5c1308dc1586c22ca16;hpb=34ac0a51e6b2dcebf3fbf19512fa42ebd3edc3b8;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler.pm b/lib/DBIx/Class/DeploymentHandler.pm index 4d27efe..1fd2038 100644 --- a/lib/DBIx/Class/DeploymentHandler.pm +++ b/lib/DBIx/Class/DeploymentHandler.pm @@ -1,5 +1,7 @@ package DBIx::Class::DeploymentHandler; +# ABSTRACT: Extensible DBIx::Class deployment + use Moose; extends 'DBIx::Class::DeploymentHandler::Dad'; @@ -26,13 +28,20 @@ sub install_version_storage { ); } +sub prepare_install { + $_[0]->prepare_deploy; + $_[0]->prepare_version_storage_install; +} + __PACKAGE__->meta->make_immutable; 1; +#vim: ts=2 sw=2 expandtab + __END__ -=SYNOPSIS +=head1 SYNOPSIS use aliased 'DBIx::Class::DeploymentHandler' => 'DH'; my $s = My::Schema->connect(...); @@ -79,8 +88,6 @@ with): =over -=over - =item * Downgrades in addition to upgrades. @@ -127,12 +134,46 @@ L. Creates the needed C<.sql> file to install the version storage and not the rest of the tables +=method prepare_install + + $dh->prepare_install + +First prepare all the tables to be installed and the prepare just the version +storage + =method install_version_storage $dh->install_version_storage Install the version storage and not the rest of the tables -__END__ +=head1 THIS SUCKS + +You started your project and weren't using C? +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 }); + + $dh->prepare_version_storage_install; + $dh->install_version_storage; + +Then set your database version: + + $dh->add_database_version({ version => $s->version }); + +Now you should be able to use C like normal! + +=head1 DONATIONS + +If you'd like to thank me for the work I've done on this module, don't give me +a donation. I spend a lot of free time creating free software, but I do it +because I love it. -vim: ts=2 sw=2 expandtab +Instead, consider donating to someone who might actually need it. Obviously +you should do research when donating to a charity, so don't just take my word +on this. I like Children's Survival Fund: +L, but there are a host of other +charities that can do much more good than I will with your money.