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