Commit | Line | Data |
7521a845 |
1 | package DBIx::Class::DeploymentHandler::HandlesDeploy; |
2 | use Moose::Role; |
3 | |
9deabd1f |
4 | # ABSTRACT: Interface for deploy methods |
5 | |
ff40cb1f |
6 | requires 'initialize'; |
fc4b7602 |
7 | |
91557c90 |
8 | requires 'prepare_deploy'; |
9 | requires 'deploy'; |
10 | |
c8a2f7bd |
11 | requires 'prepare_resultsource_install'; |
12 | requires 'install_resultsource'; |
91557c90 |
13 | |
a41a04e5 |
14 | requires 'prepare_upgrade'; |
7d2a6974 |
15 | requires 'upgrade_single_step'; |
91557c90 |
16 | |
17 | requires 'prepare_downgrade'; |
7d2a6974 |
18 | requires 'downgrade_single_step'; |
7521a845 |
19 | |
20 | 1; |
21 | |
37c0b85d |
22 | # vim: ts=2 sw=2 expandtab |
23 | |
24 | __END__ |
25 | |
ff40cb1f |
26 | =method initialize |
80ff6f6d |
27 | |
ff40cb1f |
28 | $dh->initialize({ |
be140a5f |
29 | version => 1, |
30 | storage_type => 'SQLite' |
31 | }); |
80ff6f6d |
32 | |
33 | Run scripts before deploying to the database |
34 | |
91557c90 |
35 | =method prepare_deploy |
e3776e58 |
36 | |
91557c90 |
37 | $dh->prepare_deploy |
e3776e58 |
38 | |
39 | Generate the needed data files to install the schema to the database. |
96ef97e5 |
40 | |
41 | =method deploy |
42 | |
be140a5f |
43 | $dh->deploy({ version => 1 }) |
5228a963 |
44 | |
45 | Deploy the schema to the database. |
96ef97e5 |
46 | |
47 | =method prepare_resultsource_install |
48 | |
be140a5f |
49 | $dh->prepare_resultsource_install({ |
50 | result_source => $resultset->result_source, |
51 | }) |
96ef97e5 |
52 | |
37c0b85d |
53 | Takes a L<DBIx::Class::ResultSource> and generates a single migration file to |
54 | create the resultsource's table. |
55 | |
96ef97e5 |
56 | =method install_resultsource |
57 | |
be140a5f |
58 | $dh->install_resultsource({ |
59 | result_source => $resultset->result_source, |
60 | version => 1, |
61 | }) |
96ef97e5 |
62 | |
37c0b85d |
63 | Takes a L<DBIx::Class::ResultSource> and runs a single migration file to |
64 | deploy the resultsource's table. |
96ef97e5 |
65 | |
66 | =method prepare_upgrade |
67 | |
be140a5f |
68 | $dh->prepare_upgrade({ |
69 | from_version => 1, |
70 | to_version => 2, |
71 | version_set => [1, 2] |
72 | }); |
96ef97e5 |
73 | |
37c0b85d |
74 | Takes two versions and a version set. This basically is supposed to generate |
75 | the needed C<SQL> to migrate up from the first version to the second version. |
76 | The version set uniquely identifies the migration. |
96ef97e5 |
77 | |
78 | =method prepare_downgrade |
79 | |
be140a5f |
80 | $dh->prepare_downgrade({ |
81 | from_version => 1, |
82 | to_version => 2, |
83 | version_set => [1, 2] |
84 | }); |
96ef97e5 |
85 | |
37c0b85d |
86 | Takes two versions and a version set. This basically is supposed to generate |
87 | the needed C<SQL> to migrate down from the first version to the second version. |
734ace8a |
88 | The version set uniquely identifies the migration and should match its |
37c0b85d |
89 | respective upgrade version set. |
90 | |
96ef97e5 |
91 | =method upgrade_single_step |
92 | |
be140a5f |
93 | my ($ddl, $sql) = @{ |
94 | $dh->upgrade_single_step({ version_set => $version_set }) |
95 | ||[]} |
5228a963 |
96 | |
37c0b85d |
97 | Call a single upgrade migration. Takes a version set as an argument. |
98 | Optionally return C<< [ $ddl, $upgrade_sql ] >> where C<$ddl> is the DDL for |
99 | that version of the schema and C<$upgrade_sql> is the SQL that was run to |
100 | upgrade the database. |
96ef97e5 |
101 | |
102 | =method downgrade_single_step |
103 | |
5228a963 |
104 | $dh->downgrade_single_step($version_set); |
105 | |
37c0b85d |
106 | Call a single downgrade migration. Takes a version set as an argument. |
107 | Optionally return C<< [ $ddl, $upgrade_sql ] >> where C<$ddl> is the DDL for |
108 | that version of the schema and C<$upgrade_sql> is the SQL that was run to |
109 | upgrade the database. |
96ef97e5 |
110 | |
ed1721b9 |
111 | =head1 KNOWN IMPLEMENTATIONS |
112 | |
113 | =over |
114 | |
115 | =item * |
116 | |
117 | L<DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator> |
118 | |
119 | =item * |
120 | |
121 | L<DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated> |
122 | |
123 | =back |
124 | |