Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Catalyst::Helper::ModeUserBContributedCPtalyst::Helper::Model::DBIC::Schema(3)

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

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

       ON WINDOWS COMMAND LINES	QUOTING	RULES ARE DIFFERENT

       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 (DEPRECATED):

	 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.

perl v5.32.0			  2014Catalyst::Helper::Model::DBIC::Schema(3)

NAME | SYNOPSIS | DESCRIPTION | TYPICAL EXAMPLES | METHODS | SEE ALSO | AUTHOR | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Catalyst::Helper::Model::DBIC::Schema&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help