X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README;h=7076ba57e15f63de4babd1cfabe2443964559e67;hb=8224e2cf559a6ef91ffeebf9c31208726d6378bb;hp=c1e6121fd20feb173435ae3707bd1cd974204774;hpb=4cdd7bf11607f949721a43dd9c3663096422dbf3;p=dbsrgits%2FSQL-Translator.git diff --git a/README b/README index c1e6121..7076ba5 100644 --- a/README +++ b/README @@ -1,30 +1,42 @@ 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.06, parsers exist for the following: Databases: MySQL Oracle PostgreSQL + SQLite Sybase + DBI-MySQL + DBI-PostgreSQL + DBI-SQLite + DBI-Sybase + Other: - xSV : arbitrarily delimited text files - Excel : Microsoft Excel spreadsheets - SqlfXML: 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: @@ -34,41 +46,46 @@ And the following producers exist: PostgreSQL SQLite Sybase - Code Generators: - ClassDBI: Class::DBI classes + 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 + Diagram : quasi-ER diagrams using libgd + GraphViz : ER diagrams using GraphViz + HTML : HTML documentation of schema + POD : Plain Old Documenation of schema + + Serialization: + Storable : using Perl's Storable module + YAML : YAML format + XML-SQLFairy : structure of the schema described in SQLFairy's XML Other: - SqlfXML: 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-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 : command-line interface for text-to-text translations +* 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 @@ -78,13 +95,17 @@ manipulate the SQL::Translator::Schema objects. INSTALLATION -The regular method: + $ perl Build.PL + $ ./Build + $ ./Build test + $ su + # ./Build install - $ perl Makefile.PL - $ make - $ make test - $ su - - # make install +MANUAL + +To read the manual: + + $ perldoc SQL::Translator::Manual COPYRIGHT @@ -116,3 +137,7 @@ Check out the SQLFairy homepage at Sourceforge for more information, mailing lists, etc.: http://sqlfairy.sourceforge.net/ + +AUTHORS + +See the included AUTHORS file.