SQL::Translator README
-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:
+SQL::Translator is a group of Perl modules that manipulate structure
+data definitions (mostly database schemas) in interesting ways, such
+as converting among different dialects of CREATE syntax (e.g.,
+MySQL-to-Oracle), visualizations of schemas (pseudo-ER diagrams
+GraphViz or GD), automatic code generation (using Class::DBI),
+converting non-RDBMS files to SQL schemas (xSV text files, Excel
+spreadsheets), serializing parsed schemas (via Storable, YAML and
+XML), creating documentation (HTML and POD), and more. We also
+have the ability to talk directly to a database through DBI to
+query for the structures of several databases.
+
+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.10, parsers exist for the following:
Databases:
+ Access
+ DB2
+ DBI-DB2
+ DBI-MySQL
+ DBI-Oracle
+ DBI-PostgreSQL
+ DBI-SQLServer
+ DBI-SQLite
+ DBI-Sybase
MySQL
Oracle
PostgreSQL
+ SQLServer
+ SQLite
+ Storable
Sybase
Other:
- xSV : arbitrarily delimited text files
- Excel : Microsoft Excel spreadsheets
- XML-SQLFairy: SQLFairy's XML format
+ xSV : arbitrarily delimited text files
+ Excel : Microsoft Excel spreadsheets
+ XML-SQLFairy : SQLFairy's XML format
+ YAML/Storable: Serialized schema objects
And the following producers exist:
Databases:
+ DB2
MySQL
Oracle
PostgreSQL
+ SQLServer
SQLite
+ Storable
Sybase
-
Code Generators:
- ClassDBI: Class::DBI classes
+ ClassDBI : Class::DBI classes
+ Dumper : create a "mysqldump"-like dumper for database
+ DBIx-Class : see the DBIx::Class distribution
Documentation:
- Diagram : quasi-ER diagrams using libgd
- GraphViz : ER diagrams using GraphViz
- HTML : HTML documentation of schema
- POD : Plain Old Documenation of schema
+ Diagram : quasi-ER diagrams using libgd
+ GraphViz : ER diagrams using GraphViz
+ HTML : HTML documentation of schema
+ POD : Plain Old Documenation of schema
+ Latex : self-explanatory
+ DiaUml : ditto
+
+ Serialization:
+ Storable : using Perl's Storable module
+ YAML : YAML format
+ XML-SQLFairy : structure of the schema described in SQLFairy's XML
Other:
- XML-SQLFairy: structure of the schema described in SQLFairy's XML
+ TTSchema : to any text format via Template Toolkit
Included in this distribution are a few scripts designed to be user
interfaces for the actual SQL::Translator modules. In the "bin"
directory, you will find:
-* sqlt-diagram.pl
-* sqlt-graph.pl
-* sqlt-dumper.pl
-* sql_translator.cgi
-* sql_translator.pl
-
-All scripts ending in ".pl" are meant to be run from the command line
-with various switches to control the input and output of the scripts,
-while the ".cgi" script is a web-form frontend. The script you'll
-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 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.
+* sqlt : command-line interface for text-to-text translations
+* sqlt-diagram : interface to Diagram producer
+* sqlt-diff : diff two schemas to generate schema mutation file
+* sqlt-graph : interface to GraphViz producer
+* sqlt-dumper : create a data dumper script from a schema
+* sqlt.cgi : CGI interface for all SQLFairy functions
+
+All scripts not ending in ".cgi" are meant to be run from the command
+line with various switches to control the input and output of the
+scripts, while the ".cgi" script is a web-form frontend. The script
+you'll probably find most useful is "sqlt" 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 and ER-diagram producers. All
+scripts start with "sqlt" so it will be easier to identify them on
+your system. All the non-CGI scripts will be installed in a system
+path when you "make install," but you'll have to manually place 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
INSTALLATION
-The regular method:
-
$ perl Makefile.PL
- $ make
- $ make test
- $ su -
- # make install
+ $ make && make test
+ $ sudo make install
+
+MANUAL
+
+To read the manual:
+
+ $ perldoc SQL::Translator::Manual
COPYRIGHT
mailing lists, etc.:
http://sqlfairy.sourceforge.net/
+
+AUTHORS
+
+See the included AUTHORS file.