switch preinstall to initialize
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / HandlesDeploy.pm
index ecb42f4..14c3256 100644 (file)
@@ -1,14 +1,21 @@
 package DBIx::Class::DeploymentHandler::HandlesDeploy;
 use Moose::Role;
 
-requires 'prepare_install';
+# ABSTRACT: Interface for deploy methods
+
+requires 'initialize';
+
+requires 'prepare_deploy';
+requires 'deploy';
+
 requires 'prepare_resultsource_install';
 requires 'install_resultsource';
+
 requires 'prepare_upgrade';
-requires 'prepare_downgrade';
 requires 'upgrade_single_step';
+
+requires 'prepare_downgrade';
 requires 'downgrade_single_step';
-requires 'deploy';
 
 1;
 
@@ -16,37 +23,53 @@ requires 'deploy';
 
 __END__
 
-=method prepare_install
+=method initialize
+
+ $dh->initialize({
+   version      => 1,
+   storage_type => 'SQLite'
+ });
+
+Run scripts before deploying to the database
 
- (should this be renamed prepare_deploy?)
+=method prepare_deploy
 
- $dh->prepare_install
+ $dh->prepare_deploy
 
 Generate the needed data files to install the schema to the database.
 
 =method deploy
 
- $dh->deploy
+ $dh->deploy({ version => 1 })
 
 Deploy the schema to the database.
 
 =method prepare_resultsource_install
 
- $dh->prepare_resultsource_install($resultset->result_source)
+ $dh->prepare_resultsource_install({
+   result_source => $resultset->result_source,
+ })
 
 Takes a L<DBIx::Class::ResultSource> and generates a single migration file to
 create the resultsource's table.
 
 =method install_resultsource
 
- $dh->prepare_resultsource_install($resultset->result_source);
+ $dh->install_resultsource({
+   result_source => $resultset->result_source,
+   version       => 1,
+ })
 
 Takes a L<DBIx::Class::ResultSource> and runs a single migration file to
 deploy the resultsource's table.
 
 =method prepare_upgrade
 
- $dh->prepare_upgrade(1, 2, [1, 2]);
+ $dh->prepare_upgrade({
+   from_version => 1,
+   to_version   => 2,
+   version_set  => [1, 2]
+ });
 
 Takes two versions and a version set.  This basically is supposed to generate
 the needed C<SQL> to migrate up from the first version to the second version.
@@ -54,7 +77,11 @@ The version set uniquely identifies the migration.
 
 =method prepare_downgrade
 
- $dh->prepare_downgrade(2, 1, [1, 2]);
+ $dh->prepare_downgrade({
+   from_version => 1,
+   to_version   => 2,
+   version_set  => [1, 2]
+ });
 
 Takes two versions and a version set.  This basically is supposed to generate
 the needed C<SQL> to migrate down from the first version to the second version.
@@ -63,7 +90,9 @@ respective upgrade version set.
 
 =method upgrade_single_step
 
- my ($ddl, $sql) = @{$dh->upgrade_single_step($version_set)||[]}
+ my ($ddl, $sql) = @{
+   $dh->upgrade_single_step({ version_set => $version_set })
+ ||[]}
 
 Call a single upgrade migration.  Takes a version set as an argument.
 Optionally return C<< [ $ddl, $upgrade_sql ] >> where C<$ddl> is the DDL for