Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sqlt-diagram(1p) [debian man page]

SQLT-DIAGRAM(1p)					User Contributed Perl Documentation					  SQLT-DIAGRAM(1p)

NAME
sqlt-diagram - Automatically create a diagram from a database schema SYNOPSIS
./sqlt-diagram -d|-f|--from|--db=db_parser [options] schema.sql Options: -o|--output Output file name (default STDOUT) -i|--image Output image type ("png" or "jpeg," default "png") -t|--title Title to give schema -c|--cols Number of columns -n|--no-lines Don't draw lines --font-size Font size ("small," "medium," "large," or "huge," default "medium") --gutter Gutter size between tables --color Add colors --show-fk-only Only show fields that act as primary or foreign keys --natural-join Perform natural joins --natural-join-pk Perform natural joins from primary keys only -s|--skip Fields to skip in natural joins --skip-tables Comma-separated list of table names to exclude --skip-tables-like Comma-separated list of regexen to exclude tables --debug Print debugging information DESCRIPTION
This script will create a picture of your schema. Only the database driver argument (for SQL::Translator) is required. If no output file name is given, then image will be printed to STDOUT, so you should redirect the output into a file. The default action is to assume the presence of foreign key relationships defined via "REFERENCES" or "FOREIGN KEY" constraints on the tables. If you are parsing the schema of a file that does not have these, you will find the natural join options helpful. With natural joins, like-named fields will be considered foreign keys. This can prove too permissive, however, as you probably don't want a field called "name" to be considered a foreign key, so you could include it in the "skip" option, and all fields called "name" will be excluded from natural joins. A more efficient method, however, might be to simply deduce the foriegn keys from primary keys to other fields named the same in other tables. Use the "natural-join-pk" option to achieve this. AUTHOR
Ken Youens-Clark <kclark@cpan.org>. perl v5.14.2 2012-01-18 SQLT-DIAGRAM(1p)

Check Out this Related Man Page

SQL::Translator::Schema(3pm)				User Contributed Perl Documentation			      SQL::Translator::Schema(3pm)

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_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: o 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 o 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 2012-01-20 SQL::Translator::Schema(3pm)
Man Page