Parse::Dia::SQL.3pm

Langue: en

Version: 2010-05-21 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Parse::Dia::SQL - Convert Dia class diagrams into SQL.

SYNOPSIS

     use Parse::Dia::SQL;
     my $dia = Parse::Dia::SQL->new(
       file => 't/data/TestERD.dia',
       db   => 'db2'
     );
     print $dia->get_sql();
 
     # or command-line version
     perl parsediasql --file t/data/TestERD.dia --db db2
 
 

DESCRIPTION

Dia is a diagram creation program for Linux, Unix and Windows released under the GNU General Public License.

Parse::Dia::SQL converts Dia class diagrams into SQL.

Parse::Dia::SQL is the parser that interprets the .dia file(s) into an internal datastructure.

Parse::Dia::SQL::Output (or one of its sub classes) can take the datastructure and generate the SQL statements it represents.

MODELLING HOWTO

See <http://tedia2sql.tigris.org/usingtedia2sql.html>

Modelling differences from tedia2sql

Index options are supported. Text is taken from the comments field of the operation, i.e. the index. A database specific default value is used if the comments field is left blank. Consult the Output sub class' constructor.
Type mapping is supported. A type mapping is a user-defined column name replacement. Unlike tedia2sql the type mapping is non-recursive. Consult "t/data/typemap.dia" for an example.
Preliminary support for Dia's database shapes is added.

DIA VERSIONS

Parse::Dia::SQL has been tested with Dia versions 0.93 - 0.97.

Parse::Dia::SQL uses the XML "version" tag information in the .dia input file to determine how each XML construct is formatted. Future versions of Dia may change the internal format, and XML "version" tag is used to detect such changes.

DATABASE SUPPORT

The following databases are supported:
DB2
Informix
Ingres
Oracle
Postgres
Sas
SQLite3
Sybase
MySQL InnoDB
MySQL MyISAM

Adding support for additional databases means to create a subclass of Parse::Dia::SQL::Output.

Patches are welcome.

AUTHOR

Parse::Dia::SQL is based on tedia2sql by Tim Ellis and others. See the AUTHORS file for details.

Modified by Andreas Faafeng, "<aff at cpan.org>" for release on CPAN.

BUGS

Please report any bugs or feature requests to "bug-parse-dia-sql at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Parse-Dia-SQL>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.
     perldoc Parse::Dia::SQL
 
 

You can also look for information at:

Project home

Documentation and public source code repository:

<http://tedia2sql.tigris.org/>

RT: CPAN's request tracker

<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Parse-Dia-SQL>

AnnoCPAN: Annotated CPAN documentation

<http://annocpan.org/dist/Parse-Dia-SQL>

CPAN Ratings

<http://cpanratings.perl.org/d/Parse-Dia-SQL>

Search CPAN

<http://search.cpan.org/dist/Parse-Dia-SQL>

SEE ALSO

<http://tedia2sql.tigris.org/>
<http://live.gnome.org/Dia>

ACKNOWLEDGEMENTS

See the AUTHORS file.

LICENSE

This program is released under the GNU General Public License.

TERMINOLOGY

By database we mean relational database managment system (RDBMS).

METHODS

new()
The constructor. Mandatory arguments:
   file  - The .dia file to parse
   db    - The target database type
 
 

Dies if target database is unknown or unsupported.

get_sql()
Return sql for given db. Calls underlying methods that performs parsing and sql generation.