App-AutoCRUD
view release on metacpan or search on metacpan
lib/App/AutoCRUD/ConfigDomain.pm view on Meta::CPAN
dbh => {
connect => ( [ <string>, <string>, <string>, <hashref>? ]
| <coderef> ),
db_catalog => <string>,
db_schema => <string>,
},
descr => <string>,
require => <string>,
schema_class => <string>,
tablegroups => [ <tablegroup>+ ],
tables => [ <table>+ ],
filters => { [ include => <string>, ] [exclude => <string>] }
}
<tablegroup> : {
name => string,
[ descr => string, ]
[ node => 'open' | 'closed', ]
tables => <string>+
<table> : {
<string> => {
[ descr => <string>, ]
colgroups => {
name => <string>
[ descr => string, ]
[ node => 'open' | 'closed', ]
columns => {
name => <string>,
[ descr => <string> ]
}+
}+
}
=head1 CONFIGURATION SECTIONS
=head2 app
Basic information about the application :
=over
=item name
Short name (will be displayed in most pages).
=item title
Long name (will be displayed in home page).
=item readonly
Boolean flag; if true, data mutation operations will be forbidden
(i.e. no insert, update or delete).
=item default
Hashref of various default values that may be used by inner modules.
Currently there is only one example : C<page_size>, used by
L<App::AutoCRUD::Controller::Table> to decide how many
records per page will be displayed.
=back
=head2 datasources
datasources :
Chinook :
dbh:
connect:
- "dbi:SQLite:dbname=/path/to/Chinook_Sqlite_AutoIncrementPKs.sqlite"
- "" # username
- "" # password
- RaiseError: 1 # DBI options
sqlite_unicode: 1
A hashref describing the various databases served by this application.
Each key in the hashref is a short name for accessing the corresponding
datasource; that name will be part of URLs. Each value is a hashref
with the following keys :
=over
=item dbh
A hashref containing instructions for connecting to the database.
The main key is C<connect>, which contains a list of arguments
to L<DBI/connect>, i.e. a connection string, username, password,
and possibly a hashref of additional options. Alternatively, C<connect>
could also contain a coderef, or even just a string of Perl code,
which will be C<eval>ed to get the connection.
Optional keys C<db_catalog> and C<db_schema> may specify the values to
be passed to L<DBI/table_info>, L<DBI/column_info>, etc. This will be
necessary if your database contains several catalogs and/or schemata.
=item descr
A string for describing the database; this will be displayed on the
home page.
=item require
The name of a Perl module to load before accessing this datasource
(optional).
=item schema_class
The name of the L<DBIx::DataModel::Schema> subclass for this datasource.
This is optional, and defaults to the value of C<require>; if none is
supplied, the class will be constructed dynamically.
=item tablegroups
tablegroups :
- name: Music
descr: Tables describing music content
node: open
( run in 2.418 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )