GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CATALYST::HELPER::MODEL::DBIC::SCHEMA (3)

.ds Aq ’

NAME

Catalyst::Helper::Model::DBIC::Schema - Helper for DBIC Schema Models

CONTENTS

SYNOPSIS



  script/create.pl model CatalystModelName DBIC::Schema MyApp::SchemaClass \
    [ create=dynamic | create=static ] [ traits=trait1,trait2... ] \
    [ Schema::Loader opts ] [ dsn user pass ] \
    [ other connect_info args ]



DESCRIPTION

Helper for the DBIC Schema Models.

    Arguments:

CatalystModelName is the short name for the Catalyst Model class being generated (i.e. callable with $c->model(CatalystModelName)).

MyApp::SchemaClass is the fully qualified classname of your Schema, which might or might not yet exist. Note that you should have a good reason to create this under a new global namespace, otherwise use an existing top level namespace for your schema class.

create=dynamic instructs this Helper to generate the named Schema class for you, basing it on DBIx::Class::Schema::Loader (which means the table information will always be dynamically loaded at runtime from the database).

create=static instructs this Helper to generate the named Schema class for you, using DBIx::Class::Schema::Loader in one shot mode to create a standard, manually-defined DBIx::Class::Schema setup, based on what the Loader sees in your database at this moment. A Schema/Model pair generated this way will not require DBIx::Class::Schema::Loader at runtime, and will not automatically adapt itself to changes in your database structure. You can edit the generated classes by hand to refine them.

traits is the list of traits to apply to the model, see Catalyst::Model::DBIC::Schema for details.

Schema::Loader opts are documented in DBIx::Class::Schema::Loader::Base and some examples are given in TYPICAL EXAMPLES below.

connect_info arguments are the same as what connect in DBIx::Class::Schema expects, and are storage_type-specific. They are documented in connect_info in DBIx::Class::Storage::DBI. For DBI-based storage, these arguments are the dsn, username, password, and connect options, respectively. These are optional for existing Schemas, but required if you use either of the create= options.

username and password can be omitted for SQLite dsns.

Use of either of the create= options requires DBIx::Class::Schema::Loader.

TYPICAL EXAMPLES

Use DBIx::Class::Schema::Loader to create a static DBIx::Class::Schema, and a Model which references it:



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass create=static dbi:mysql:foodb myuname mypass



Same, with extra connect_info args user and pass can be omitted for sqlite, since they are always empty



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass create=static dbi:SQLite:foo.db \
    AutoCommit=1 cursor_class=DBIx::Class::Cursor::Cached \
    on_connect_do=["select 1", "select 2"] quote_names=1



<B>ON WINDOWS COMMAND LINES QUOTING RULES ARE DIFFERENTB>

In cmd.exe the above example would be:



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass create=static dbi:SQLite:foo.db \
    AutoCommit=1 cursor_class=DBIx::Class::Cursor::Cached \
    on_connect_do="[\"select 1\", \"select 2\"]" quote_names=1



Same, but with extra Schema::Loader args (separate multiple values by commas):



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass create=static db_schema=foodb components=Foo,Bar \
    exclude=^(wibble|wobble)$ moniker_map={ foo => "FOO" } \
    dbi:Pg:dbname=foodb myuname mypass



Coderefs are also supported:



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass create=static \
    inflect_singular=sub { $_[0] =~ /\A(.+?)(_id)?\z/; $1 } \
    moniker_map=sub { join(q{}, map ucfirst, split(/[\W_]+/, lc $_[0])); } \
    dbi:mysql:foodb myuname mypass



See DBIx::Class::Schema::Loader::Base for a list of options

Create a dynamic DBIx::Class::Schema::Loader-based Schema, and a Model which references it (<B>DEPRECATEDB>):



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass create=dynamic dbi:mysql:foodb myuname mypass



Reference an existing Schema of any kind, and provide some connection information for ->config:



  script/myapp_create.pl model CatalystModelName DBIC::Schema \
    MyApp::SchemaClass dbi:mysql:foodb myuname mypass



Same, but don’t supply connect information yet (you’ll need to do this in your app config, or [not recommended] in the schema itself).



  script/myapp_create.pl model ModelName DBIC::Schema My::SchemaClass



METHODS

    mk_compclass

This is called by Catalyst::Helper with the commandline args to generate the files.

    run

Can be called on an instance to generate the files.

SEE ALSO

General Catalyst Stuff:

Catalyst::Manual, Catalyst::Test, Catalyst::Request, Catalyst::Response, Catalyst::Helper, Catalyst,

Stuff related to DBIC and this Model style:

DBIx::Class, DBIx::Class::Schema, DBIx::Class::Schema::Loader, Catalyst::Model::DBIC::Schema

AUTHOR

See AUTHOR in Catalyst::Model::DBIC::Schema and CONTRIBUTORS in Catalyst::Model::DBIC::Schema.

COPYRIGHT

See COPYRIGHT in Catalyst::Model::DBIC::Schema.

LICENSE

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CATALYST::HELPER::MODEL::DBIC::SCHEMA (3) 2014-09-04

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.