SQL::Translator README
-The SQLFairy project began with the idea of simplifying the task of
-converting one database create syntax to another through the use of
-Parsers (which understand the source format) and Producers (which
-understand the destination format). The idea is that any Parser can be
-used with any Producer in the conversion process, so, if you wanted
-Postgres-to-Oracle, you would use the Postgres parser and the Oracle
-producer. The project has since grown to include parsing structured data
-files like Excel spreadsheets and delimited text files and the
-production of various documentation aids, such as images, graphs, POD,
-and HTML descriptions of the schema, as well as automatic code
-generators through the use of Class::DBI. Presently only the definition
-parts of SQL are handled (CREATE, ALTER), not the manipulation of data
-(INSERT, UPDATE, DELETE).
-
-As of version 0.02, parsers exist for the following:
-
- Excel
- MySQL
- Oracle
- PostgreSQL
- Sybase
- xSV (arbitrarily delimited text files)
+SQL::Translator is a group of Perl modules that converts
+vendor-specific SQL table definitions into other formats, such as
+other vendor-specific SQL, ER diagrams, documentation (POD and HTML),
+XML, and Class::DBI classes. The main focus of SQL::Translator is
+SQL, but parsers exist for other structured data formats, including
+Excel spreadsheets and arbitrarily delimited text files. Through the
+separation of the code into parsers and producers with an object model
+in between, it's possible to combine any parser with any producer, to
+plug in custom parsers or producers, or to manipulate the parsed data
+via the built-in object model. Presently only the definition parts of
+SQL are handled (CREATE, ALTER), not the manipulation of data (INSERT,
+UPDATE, DELETE).
+
+As of version 0.03, parsers exist for the following:
+
+ Databases:
+ MySQL
+ Oracle
+ PostgreSQL
+ Sybase
+
+ Other:
+ xSV : arbitrarily delimited text files
+ Excel : Microsoft Excel spreadsheets
+ SqlfXML: SQLFairy's XML format
And the following producers exist:
- ClassDBI: Class::DBI classes
- Diagram: quasi-ER diagrams using libgd
- GraphViz: ER diagrams using GraphViz
- HTML: HTML documentation of schema
- MySQL: MySQL-specific schema
- Oracle: Oracle-specific schema
- POD: Plain Old Documenation of schema
- PostgreSQL: PostgreSQL-specific schema
- SQLite: SQLite-specific schema
- Sybase: Sybase-specific schema
- XML: structure of the schema described in XML
-
-You can, of course, define your own parsers or producers and pair them
-with existing parsers or producers as long as they adhere to the API
-of the SQL::Translator::Schema object.
+ Databases:
+ MySQL
+ Oracle
+ PostgreSQL
+ SQLite
+ Sybase
+
+
+ Code Generators:
+ ClassDBI: Class::DBI classes
+
+ Documentation:
+ Diagram : quasi-ER diagrams using libgd
+ GraphViz: ER diagrams using GraphViz
+ HTML : HTML documentation of schema
+ POD : Plain Old Documenation of schema
+
+ Other:
+ SqlfXML: structure of the schema described in SQLFairy's XML
Included in this distribution are a few scripts designed to be user
interfaces for the actual SQL::Translator modules. In the "bin"
* sqlt-diagram.pl
* sqlt-graph.pl
+* sqlt-dumper.pl
* sql_translator.cgi
* sql_translator.pl
probably find most useful is the "sql_translator.pl" script which is
meant to be the main interface for translating from text-to-text. The
graphic producers, however, have many extra switches, so there are
-scripts specific for each of the the GraphViz an ER-diagram producers.
-All scripts start with "sql" so it will be easier to identify them on
-your system. All the "*.pl" scripts will be installed in the normal
-installation process, but you'll have to put the CGI script into your
-web CGI directory to use it.
+scripts specific for each of the the GraphViz and ER-diagram
+producers. All scripts start with "sql" so it will be easier to
+identify them on your system. All the "*.pl" scripts will be
+installed in the normal installation process, but you'll have to put
+the CGI script into your web CGI directory to use it.
If you're more interested in using the SQL::Translator modules
directly, then you might be more interested to examine some of the
-test scripts in the "t" directory. While the test suite isn't
-currently as thorough as it should be, you will definitely get the
-idea of how to parse a file and manipulate the SQL::Translator::Schema
-objects.
+test scripts in the "t" directory. The test suite is relatively
+thorough and should give you an idea of how to parse a file and
+manipulate the SQL::Translator::Schema objects.
+
+INSTALLATION
-AUTHORS
+The regular method:
-Ken Y. Clark, <kclark@cpan.org>,
-darren chamberlain <darren@cpan.org>,
-Chris Mungall <cjm@fruitfly.org>,
-Allen Day <allenday@users.sourceforge.net>,
-Sam Angiuoli <angiuoli@users.sourceforge.net>,
-Ying Zhang <zyolive@yahoo.com>,
-Mike Mellilo <mmelillo@users.sourceforge.net>.
+ $ perl Makefile.PL
+ $ make
+ $ make test
+ $ su -
+ # make install
COPYRIGHT
BUGS
Please use http://rt.cpan.org/ for reporting bugs.
+
+SEE ALSO
+
+Check out the SQLFairy homepage at Sourceforge for more information,
+mailing lists, etc.:
+
+ http://sqlfairy.sourceforge.net/