sql::translator::parser::oracle(3pm) [debian man page]
SQL::Translator::Parser::Oracle(3pm) User Contributed Perl Documentation SQL::Translator::Parser::Oracle(3pm)NAME
SQL::Translator::Parser::Oracle - parser for Oracle
SYNOPSIS
use SQL::Translator;
use SQL::Translator::Parser::Oracle;
my $translator = SQL::Translator->new;
$translator->parser("SQL::Translator::Parser::Oracle");
DESCRIPTION
From http://www.ss64.com/ora/table_c.html:
CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (tbl_defs,...)
[ON COMMIT {DELETE|PRESERVE} ROWS]
[storage_options | CLUSTER cluster_name (col1, col2,... )
| ORGANIZATION {HEAP [storage_options]
| INDEX idx_organized_tbl_clause}]
[LOB_storage_clause][varray_clause][nested_storage_clause]
partitioning_options
[[NO]CACHE] [[NO]MONITORING] [PARALLEL parallel_clause]
[ENABLE enable_clause | DISABLE disable_clause]
[AS subquery]
tbl_defs:
column datatype [DEFAULT expr] [column_constraint(s)]
table_ref_constraint
storage_options:
PCTFREE int
PCTUSED int
INITTRANS int
MAXTRANS int
STORAGE storage_clause
TABLESPACE tablespace
[LOGGING|NOLOGGING]
idx_organized_tbl_clause:
storage_option(s) [PCTTHRESHOLD int]
[COMPRESS int|NOCOMPRESS]
[ [INCLUDING column_name] OVERFLOW [storage_option(s)] ]
nested_storage_clause:
NESTED TABLE nested_item STORE AS storage_table
[RETURN AS {LOCATOR|VALUE} ]
partitioning_options:
Partition_clause {ENABLE|DISABLE} ROW MOVEMENT
Column Constraints (http://www.ss64.com/ora/clause_constraint_col.html)
CONSTRAINT constrnt_name {UNIQUE|PRIMARY KEY} constrnt_state
CONSTRAINT constrnt_name CHECK(condition) constrnt_state
CONSTRAINT constrnt_name [NOT] NULL constrnt_state
CONSTRAINT constrnt_name REFERENCES [schema.]table[(column)]
[ON DELETE {CASCADE|SET NULL}] constrnt_state
constrnt_state
[[NOT] DEFERRABLE] [INITIALLY {IMMEDIATE|DEFERRED}]
[RELY | NORELY] [USING INDEX using_index_clause]
[ENABLE|DISABLE] [VALIDATE|NOVALIDATE]
[EXCEPTIONS INTO [schema.]table]
Note that probably not all of the above syntax is supported, but the grammar was altered to better handle the syntax created by
DDL::Oracle.
AUTHOR
Ken Youens-Clark <kclark@cpan.org>.
SEE ALSO
SQL::Translator, Parse::RecDescent, DDL::Oracle.
perl v5.14.2 2012-01-18 SQL::Translator::Parser::Oracle(3pm)
Check Out this Related Man Page
SQL::Translator::Parser::DBIx::Class(3) User Contributed Perl Documentation 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
AUTHORS
See "CONTRIBUTORS" in DBIx::Class.
LICENSE
You may distribute this code under the same terms as Perl itself.
perl v5.18.2 2014-01-22 SQL::Translator::Parser::DBIx::Class(3)