Added the new files
[dbsrgits/SQL-Translator.git] / README
1                       SQL::Translator README
2
3 SQL::Translator is a group of Perl modules that converts
4 vendor-specific SQL table definitions into other formats, such as
5 other vendor-specific SQL, ER diagrams, documentation (POD and HTML),
6 XML, and Class::DBI classes.  The main focus of SQL::Translator is
7 SQL, but parsers exist for other structured data formats, including
8 Excel spreadsheets and arbitrarily delimited text files.  Through the
9 separation of the code into parsers and producers with an object model
10 in between, it's possible to combine any parser with any producer, to
11 plug in custom parsers or producers, or to manipulate the parsed data
12 via the built-in object model.  Presently only the definition parts of
13 SQL are handled (CREATE, ALTER), not the manipulation of data (INSERT,
14 UPDATE, DELETE).
15
16 As of version 0.02, parsers exist for the following:
17
18     Excel
19     MySQL
20     Oracle
21     PostgreSQL
22     Sybase
23     xSV (arbitrarily delimited text files)
24
25 And the following producers exist:
26
27     ClassDBI: Class::DBI classes
28     Diagram: quasi-ER diagrams using libgd
29     GraphViz: ER diagrams using GraphViz
30     HTML: HTML documentation of schema
31     MySQL: MySQL-specific schema
32     Oracle: Oracle-specific schema
33     POD: Plain Old Documenation of schema
34     PostgreSQL: PostgreSQL-specific schema
35     SQLite: SQLite-specific schema
36     Sybase: Sybase-specific schema
37     XML: structure of the schema described in XML
38
39 Included in this distribution are a few scripts designed to be user
40 interfaces for the actual SQL::Translator modules.  In the "bin"
41 directory, you will find:
42
43 *   sqlt-diagram.pl
44 *   sqlt-graph.pl
45 *   sql_translator.cgi
46 *   sql_translator.pl
47
48 All scripts ending in ".pl" are meant to be run from the command line
49 with various switches to control the input and output of the scripts,
50 while the ".cgi" script is a web-form frontend.  The script you'll
51 probably find most useful is the "sql_translator.pl" script which is
52 meant to be the main interface for translating from text-to-text.  The
53 graphic producers, however, have many extra switches, so there are
54 scripts specific for each of the the GraphViz and ER-diagram producers.
55 All scripts start with "sql" so it will be easier to identify them on
56 your system.  All the "*.pl" scripts will be installed in the normal
57 installation process, but you'll have to put the CGI script into your
58 web CGI directory to use it.
59
60 If you're more interested in using the SQL::Translator modules
61 directly, then you might be more interested to examine some of the
62 test scripts in the "t" directory.  While the test suite isn't
63 currently as thorough as it should be, you will definitely get the
64 idea of how to parse a file and manipulate the SQL::Translator::Schema
65 objects.
66
67 INSTALLATION
68
69 The regular method:
70
71     $ perl Makefile.PL
72     $ make
73     $ make test
74     $ su -
75     # make install
76
77 AUTHORS
78
79 Ken Y. Clark, <kclark@cpan.org>, 
80 darren chamberlain <darren@cpan.org>,
81 Chris Mungall <cjm@fruitfly.org>, 
82 Allen Day <allenday@users.sourceforge.net>, 
83 Sam Angiuoli <angiuoli@users.sourceforge.net>, 
84 Ying Zhang <zyolive@yahoo.com>, 
85 Mike Mellilo <mmelillo@users.sourceforge.net>.
86
87 COPYRIGHT
88
89 This program is free software; you can redistribute it and/or modify it
90 under the terms of the GNU General Public License as published by the
91 Free Software Foundation; version 2.
92
93 This program is distributed in the hope that it will be useful, but
94 WITHOUT ANY WARRANTY; without even the implied warranty of
95 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
96 Public License for more details.
97
98 You should have received a copy of the GNU General Public License along
99 with this program; if not, write to the Free Software Foundation, Inc.,
100 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
101
102 BUGS
103
104 Please use http://rt.cpan.org/ for reporting bugs.
105
106 SEE ALSO
107
108 Check out the SQLFairy homepage at Sourceforge for more information,
109 mailing lists, etc.:
110
111     http://sqlfairy.sourceforge.net/