1DBIx::Class::Optional::UDseeprenCdoenntcriiebsu(t3e)d PeDrBlIxD:o:cCulmaesnst:a:tOipotnional::Dependencies(3)
2
3
4
6 DBIx::Class::Optional::Dependencies - Optional module dependency
7 specifications (for module authors)
8
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
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
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
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
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.34.0 2022-01D-B2I1x::Class::Optional::Dependencies(3)