1DBIx::Class::Optional::UDseeprenCdoenntcriiebsu(t3e)d PeDrBlIxD:o:cCulmaesnst:a:tOipotnional::Dependencies(3)
2
3
4

NAME

6       DBIx::Class::Optional::Dependencies - Optional module dependency
7       specifications (for module authors)
8

SYNOPSIS

10       Somewhere in your build-file (e.g. Module::Install's Makefile.PL):
11
12         ...
13
14         configure_requires 'DBIx::Class' => '0.082842';
15
16         require DBIx::Class::Optional::Dependencies;
17
18         my $deploy_deps = DBIx::Class::Optional::Dependencies->req_list_for('deploy');
19
20         for (keys %$deploy_deps) {
21           requires $_ => $deploy_deps->{$_};
22         }
23
24         ...
25
26       Note that there are some caveats regarding "configure_requires()", more
27       info can be found at "configure_requires" in Module::Install
28

DESCRIPTION

30       Some of the less-frequently used features of DBIx::Class have external
31       module dependencies on their own. In order not to burden the average
32       user with modules he will never use, these optional dependencies are
33       not included in the base Makefile.PL. Instead an exception with a
34       descriptive message is thrown when a specific feature is missing one or
35       several modules required for its operation. This module is the central
36       holding place for  the current list of such dependencies, for
37       DBIx::Class core authors, and DBIx::Class extension authors alike.
38

CURRENT REQUIREMENT GROUPS

40       Dependencies are organized in "groups" and each group can list one or
41       more required modules, with an optional minimum version (or 0 for any
42       version).  The group name can be used in the
43
44   DBIx::Class::Admin
45       Modules required for the DBIx::Class administrative library
46
47       •   JSON::Any >= 1.23
48
49       •   Moose >= 0.98
50
51       •   MooseX::Types >= 0.21
52
53       •   MooseX::Types::JSON >= 0.02
54
55       •   MooseX::Types::LoadableClass >= 0.011
56
57       •   MooseX::Types::Path::Class >= 0.05
58
59       Requirement group: admin
60
61   dbicadmin
62       Modules required for the CLI DBIx::Class interface dbicadmin
63
64       •   Getopt::Long::Descriptive >= 0.081
65
66       •   JSON::Any >= 1.23
67
68       •   Moose >= 0.98
69
70       •   MooseX::Types >= 0.21
71
72       •   MooseX::Types::JSON >= 0.02
73
74       •   MooseX::Types::LoadableClass >= 0.011
75
76       •   MooseX::Types::Path::Class >= 0.05
77
78       •   Text::CSV >= 1.16
79
80       Requirement group: admin_script
81
82   Storage::DBI::deploy()
83       Modules required for "deployment_statements" in
84       DBIx::Class::Storage::DBI and "deploy" in DBIx::Class::Schema
85
86       •   SQL::Translator >= 0.11018
87
88       Requirement group: deploy
89
90   Sybase ASE support
91       Modules required to connect to Sybase ASE
92
93       •   DBD::Sybase
94
95       Requirement group: rdbms_ase
96
97   DB2 support
98       Modules required to connect to DB2
99
100       •   DBD::DB2
101
102       Requirement group: rdbms_db2
103
104   DB2 on AS/400 support
105       Modules required to connect to DB2 on AS/400
106
107       •   DBD::ODBC
108
109       Requirement group: rdbms_db2_400
110
111   Firebird support
112       Modules required to connect to Firebird
113
114       •   DBD::Firebird
115
116       Requirement group: rdbms_firebird
117
118   Firebird support via DBD::InterBase
119       Modules required to connect to Firebird via DBD::InterBase
120
121       •   DBD::InterBase
122
123       Requirement group: rdbms_firebird_interbase
124
125   Firebird support via DBD::ODBC
126       Modules required to connect to Firebird via DBD::ODBC
127
128       •   DBD::ODBC
129
130       Requirement group: rdbms_firebird_odbc
131
132   Informix support
133       Modules required to connect to Informix
134
135       •   DBD::Informix
136
137       Requirement group: rdbms_informix
138
139   MS Access support via DBD::ADO (Windows only)
140       Modules required to connect to MS Access via DBD::ADO. This particular
141       DBD is available on Windows only
142
143       •   DBD::ADO
144
145       Requirement group: rdbms_msaccess_ado
146
147   MS Access support via DBD::ODBC
148       Modules required to connect to MS Access via DBD::ODBC
149
150       •   DBD::ODBC
151
152       Requirement group: rdbms_msaccess_odbc
153
154   MSSQL support via DBD::ADO (Windows only)
155       Modules required to connect to MSSQL via DBD::ADO. This particular DBD
156       is available on Windows only
157
158       •   DBD::ADO
159
160       Requirement group: rdbms_mssql_ado
161
162   MSSQL support via DBD::ODBC
163       Modules required to connect to MSSQL via DBD::ODBC
164
165       •   DBD::ODBC
166
167       Requirement group: rdbms_mssql_odbc
168
169   MSSQL support via DBD::Sybase
170       Modules required to connect to MSSQL via DBD::Sybase
171
172       •   DBD::Sybase
173
174       Requirement group: rdbms_mssql_sybase
175
176   MySQL support
177       Modules required to connect to MySQL
178
179       •   DBD::mysql
180
181       Requirement group: rdbms_mysql
182
183   Oracle support
184       Modules required to connect to Oracle
185
186       •   DBD::Oracle
187
188       •   Math::Base36 >= 0.07
189
190       •   Math::BigInt >= 1.80
191
192       Requirement group: rdbms_oracle
193
194   PostgreSQL support
195       Modules required to connect to PostgreSQL
196
197       •   DBD::Pg
198
199       Requirement group: rdbms_pg
200
201   SQLAnywhere support
202       Modules required to connect to SQLAnywhere
203
204       •   DBD::SQLAnywhere
205
206       Requirement group: rdbms_sqlanywhere
207
208   SQLAnywhere support via DBD::ODBC
209       Modules required to connect to SQLAnywhere via DBD::ODBC
210
211       •   DBD::ODBC
212
213       Requirement group: rdbms_sqlanywhere_odbc
214
215   SQLite support
216       Modules required to connect to SQLite
217
218       •   DBD::SQLite
219
220       Requirement group: rdbms_sqlite
221
222   Storage::Replicated
223       Modules required for DBIx::Class::Storage::DBI::Replicated
224
225       •   Clone
226
227       •   Moose >= 0.98
228
229       •   MooseX::Types >= 0.21
230
231       •   MooseX::Types::LoadableClass >= 0.011
232
233       Requirement group: replicated
234

METHODS

236   req_group_list
237       Arguments: none
238       Return Value: \%list_of_requirement_groups
239
240       This method should be used by DBIx::Class packagers, to get a hashref
241       of all dependencies keyed by dependency group. Each key (group name)
242       can be supplied to one of the group-specific methods below.
243
244   req_list_for
245       Arguments: $group_name
246       Return Value: \%list_of_module_version_pairs
247
248       This method should be used by DBIx::Class extension authors, to
249       determine the version of modules a specific feature requires in the
250       current version of DBIx::Class. See the "SYNOPSIS" for a real-world
251       example.
252
253   req_ok_for
254       Arguments: $group_name
255       Return Value: 1|0
256
257       Returns true or false depending on whether all modules required by
258       $group_name are present on the system and loadable.
259
260   req_missing_for
261       Arguments: $group_name
262       Return Value: $error_message_string
263
264       Returns a single line string suitable for inclusion in larger error
265       messages.  This method would normally be used by DBIx::Class core-
266       module author, to indicate to the user that he needs to install
267       specific modules before he will be able to use a specific feature.
268
269       For example if some of the requirements for "deploy" are not available,
270       the returned string could look like:
271
272        SQL::Translator >= 0.11018 (see DBIx::Class::Optional::Dependencies for details)
273
274       The author is expected to prepend the necessary text to this message
275       before returning the actual error seen by the user.
276
277   die_unless_req_ok_for
278       Arguments: $group_name
279
280       Checks if "req_ok_for" passes for the supplied $group_name, and in case
281       of failure throws an exception including the information from
282       "req_missing_for".
283
284   req_errorlist_for
285       Arguments: $group_name
286       Return Value: \%list_of_loaderrors_per_module
287
288       Returns a hashref containing the actual errors that occurred while
289       attempting to load each module in the requirement group.
290

FURTHER QUESTIONS?

292       Check the list of additional DBIC resources.
293
295       This module is free software copyright by the DBIx::Class (DBIC)
296       authors. You can redistribute it and/or modify it under the same terms
297       as the DBIx::Class library.
298
299
300
301perl v5.32.1                      2021-01D-B2I7x::Class::Optional::Dependencies(3)
Impressum