34e83adf74c1e149cbbcd1f78edc2a0cab73c6fe
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / HandlesDeploy.pm
1 package DBIx::Class::DeploymentHandler::HandlesDeploy;
2 use Moose::Role;
3
4 requires 'prepare_install';
5 requires 'prepare_resultsource_install';
6 requires 'install_resultsource';
7 requires 'prepare_upgrade';
8 requires 'prepare_downgrade';
9 requires 'upgrade_single_step';
10 requires 'downgrade_single_step';
11 requires 'deploy';
12
13 1;
14
15 # should this be renamed prepare_deploy?
16
17 =method prepare_install
18
19  $deploy_method->prepare_install;
20
21 =method deploy
22
23  $dh->deploy
24
25 Deploy the schema to the database.
26
27 =method prepare_resultsource_install
28
29  $deploy_method->prepare_resultsource_install($resultset->result_source);
30
31 =method install_resultsource
32
33  $deploy_method->prepare_resultsource_install($resultset->result_source);
34
35 # for updates prepared automatically (rob's stuff)
36 # one would want to explicitly set $version_set to
37 # [$to_version]
38
39 =method prepare_upgrade
40
41  $deploy_method->prepare_upgrade(1, 2, [1, 2]);
42
43 # for updates prepared automatically (rob's stuff)
44 # one would want to explicitly set $version_set to
45 # [$to_version]
46
47 =method prepare_downgrade
48
49  $deploy_method->prepare_downgrade(2, 1, [1, 2]);
50
51 =method upgrade_single_step
52
53  my ($ddl, $sql) = @{$dh->upgrade_single_step($version_set)||[]}
54
55 call a single upgrade migration.  Takes an arrayref describing the version to
56 upgrade to.  Optionally return an arrayref containing C<$ddl> describing
57 version installed and C<$sql> used to get to that version.
58
59 =method downgrade_single_step
60
61  $dh->downgrade_single_step($version_set);
62
63 call a single downgrade migration.  Takes an arrayref describing the version to
64 downgrade to.
65
66 =head1 KNOWN IMPLEMENTATIONS
67
68 =over
69
70 =item *
71
72 L<DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator>
73
74 =item *
75
76 L<DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated>
77
78 =back
79
80 __END__
81
82 vim: ts=2 sw=2 expandtab