SQL::Translator::Schema man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

SQL::Translator::SchemUser Contributed Perl DocumentSQL::Translator::Schema(3)

NAME
       SQL::Translator::Schema - SQL::Translator schema object

SYNOPSIS
	 use SQL::Translator::Schema;
	 my $schema   =	 SQL::Translator::Schema->new(
	     name     => 'Foo',
	     database => 'MySQL',
	 );
	 my $table    = $schema->add_table( name => 'foo' );
	 my $view     = $schema->add_view( name => 'bar', sql => '...' );

DESCSIPTION
       "SQL::Translator::Schema" is the object that accepts, validates, and
       returns the database structure.

METHODS
   as_graph
       Returns the schema as an SQL::Translator::Schema::Graph object.

   as_graph_pm
       Returns a Graph::Directed object with the table names for nodes.

   add_table
       Add a table object.  Returns the new SQL::Translator::Schema::Table
       object.	The "name" parameter is required.  If you try to create a
       table with the same name as an existing table, you will get an error
       and the table will not be created.

	 my $t1 = $schema->add_table( name => 'foo' ) or die $schema->error;
	 my $t2 = SQL::Translator::Schema::Table->new( name => 'bar' );
	 $t2	= $schema->add_table( $table_bar ) or die $schema->error;

   drop_table
       Remove a table from the schema. Returns the table object if the table
       was found and removed, an error otherwise. The single parameter can be
       either a table name or an "SQL::Translator::Schema::Table" object. The
       "cascade" parameter can be set to 1 to also drop all triggers on the
       table, default is 0.

	 $schema->drop_table('mytable');
	 $schema->drop_table('mytable', cascade => 1);

   add_procedure
       Add a procedure object.	Returns the new
       SQL::Translator::Schema::Procedure object.  The "name" parameter is
       required.  If you try to create a procedure with the same name as an
       existing procedure, you will get an error and the procedure will not be
       created.

	 my $p1 = $schema->add_procedure( name => 'foo' );
	 my $p2 = SQL::Translator::Schema::Procedure->new( name => 'bar' );
	 $p2	= $schema->add_procedure( $procedure_bar ) or die $schema->error;

   drop_procedure
       Remove a procedure from the schema. Returns the procedure object if the
       procedure was found and removed, an error otherwise. The single
       parameter can be either a procedure name or an
       "SQL::Translator::Schema::Procedure" object.

	 $schema->drop_procedure('myprocedure');

   add_trigger
       Add a trigger object.  Returns the new SQL::Translator::Schema::Trigger
       object.	The "name" parameter is required.  If you try to create a
       trigger with the same name as an existing trigger, you will get an
       error and the trigger will not be created.

	 my $t1 = $schema->add_trigger( name => 'foo' );
	 my $t2 = SQL::Translator::Schema::Trigger->new( name => 'bar' );
	 $t2	= $schema->add_trigger( $trigger_bar ) or die $schema->error;

   drop_trigger
       Remove a trigger from the schema. Returns the trigger object if the
       trigger was found and removed, an error otherwise. The single parameter
       can be either a trigger name or an "SQL::Translator::Schema::Trigger"
       object.

	 $schema->drop_trigger('mytrigger');

   add_view
       Add a view object.  Returns the new SQL::Translator::Schema::View
       object.	The "name" parameter is required.  If you try to create a view
       with the same name as an existing view, you will get an error and the
       view will not be created.

	 my $v1 = $schema->add_view( name => 'foo' );
	 my $v2 = SQL::Translator::Schema::View->new( name => 'bar' );
	 $v2	= $schema->add_view( $view_bar ) or die $schema->error;

   drop_view
       Remove a view from the schema. Returns the view object if the view was
       found and removed, an error otherwise. The single parameter can be
       either a view name or an "SQL::Translator::Schema::View" object.

	 $schema->drop_view('myview');

   database
       Get or set the schema's database.  (optional)

	 my $database = $schema->database('PostgreSQL');

   is_valid
       Returns true if all the tables and views are valid.

	 my $ok = $schema->is_valid or die $schema->error;

   get_procedure
       Returns a procedure by the name provided.

	 my $procedure = $schema->get_procedure('foo');

   get_procedures
       Returns all the procedures as an array or array reference.

	 my @procedures = $schema->get_procedures;

   get_table
       Returns a table by the name provided.

	 my $table = $schema->get_table('foo');

   get_tables
       Returns all the tables as an array or array reference.

	 my @tables = $schema->get_tables;

   get_trigger
       Returns a trigger by the name provided.

	 my $trigger = $schema->get_trigger('foo');

   get_triggers
       Returns all the triggers as an array or array reference.

	 my @triggers = $schema->get_triggers;

   get_view
       Returns a view by the name provided.

	 my $view = $schema->get_view('foo');

   get_views
       Returns all the views as an array or array reference.

	 my @views = $schema->get_views;

   make_natural_joins
       Creates foriegn key relationships among like-named fields in different
       tables.	Accepts the following arguments:

       ·   join_pk_only

	   A True or False argument which determins whether or not to perform
	   the joins from primary keys to fields of the same name in other
	   tables

       ·   skip_fields

	   A list of fields to skip in the joins

	 $schema->make_natural_joins(
	     join_pk_only => 1,
	     skip_fields  => 'name,department_id',
	 );

   name
       Get or set the schema's name.  (optional)

	 my $schema_name = $schema->name('Foo Database');

   translator
       Get the SQL::Translator instance that instantiated the parser.

AUTHOR
       Ken Youens-Clark <kclark@cpan.org>.

perl v5.14.2			  2011-05-04	    SQL::Translator::Schema(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net