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

FreeBSD Manual Pages

  
 
  

home | help
SQL::Translator::ParseUserBContributed)SQL::Translator::Parser::DBIx::Class(3)

NAME
       SQL::Translator::Parser::DBIx::Class - Create a SQL::Translator schema
       from a DBIx::Class::Schema instance

SYNOPSIS
	## Via DBIx::Class
	use MyApp::Schema;
	my $schema = MyApp::Schema->connect("dbi:SQLite:something.db");
	$schema->create_ddl_dir();
	## or
	$schema->deploy();

	## Standalone
	use MyApp::Schema;
	use SQL::Translator;

	my $schema = MyApp::Schema->connect;
	my $trans  = SQL::Translator->new (
	     parser	 => 'SQL::Translator::Parser::DBIx::Class',
	     parser_args => {
		 dbic_schema =>	$schema,
		 add_fk_index => 0,
		 sources => [qw/
		   Artist
		   CD
		 /],
	     },
	     producer	 => 'SQLite',
	    ) or die SQL::Translator->error;
	my $out	= $trans->translate() or die $trans->error;

DESCRIPTION
       This class requires SQL::Translator installed to	work.

       "SQL::Translator::Parser::DBIx::Class" reads a DBIx::Class schema,
       interrogates the	columns, and stuffs it all in an $sqlt_schema object.

       Its primary use is in deploying database	layouts	described as a set of
       DBIx::Class classes, to a database. To do this, see "deploy" in
       DBIx::Class::Schema.

       This can	also be	achieved by having DBIx::Class export the schema as a
       set of SQL files	ready for import into your database, or	passed to
       other machines that need	to have	your application installed but don't
       have SQL::Translator installed. To do this see "create_ddl_dir" in
       DBIx::Class::Schema.

PARSER OPTIONS
   dbic_schema
       The DBIx::Class schema (either an instance or a class name) to be
       parsed.	This argument is in fact optional - instead one	can supply it
       later at	translation time as an argument	to "translate" in
       SQL::Translator.	In other words both of the following invocations are
       valid and will produce conceptually identical output:

	 my $yaml = SQL::Translator->new(
	   parser => 'SQL::Translator::Parser::DBIx::Class',
	   parser_args => {
	     dbic_schema => $schema,
	   },
	   producer => 'SQL::Translator::Producer::YAML',
	 )->translate;

	 my $yaml = SQL::Translator->new(
	   parser => 'SQL::Translator::Parser::DBIx::Class',
	   producer => 'SQL::Translator::Producer::YAML',
	 )->translate(data => $schema);

   add_fk_index
       Create an index for each	foreign	key.  Enabled by default, as having
       indexed foreign key columns is normally the sensible thing to do.

   sources
       Arguments: \@class_names

       Limit the amount	of parsed sources by supplying an explicit list	of
       source names.

SEE ALSO
       SQL::Translator,	DBIx::Class::Schema

FURTHER	QUESTIONS?
       Check the list of additional DBIC resources.

COPYRIGHT AND LICENSE
       This module is free software copyright by the DBIx::Class (DBIC)
       authors.	You can	redistribute it	and/or modify it under the same	terms
       as the DBIx::Class library.

perl v5.24.1			  2016-SQL::Translator::Parser::DBIx::Class(3)

NAME | SYNOPSIS | DESCRIPTION | PARSER OPTIONS | SEE ALSO | FURTHER QUESTIONS? | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SQL::Translator::Parser::DBIx::Class&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help