SQL::Translator is a group of Perl modules that manipulate structured 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. New to version 0.03 is 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).
SQLFairy In The News
2005/11/27 — The SQL Fairy now has a store, powered by CafePress, where you can purchase groovy SQL Fairy stuff. If there's something in particular you'd like to see, please contact Darren. All (any?) proceeds from items purchased will be donated to the Red Cross.
2004/05/05 — Project lead and main idea man Ken Youens-Clark was recently interviewed about SQL::Translator by Jack Herrington of the Code Generation Network. This enlightening interview explains, in a nutshell, what the SQL Fairy is best for and how to get started with it.
Bug Reports, Feature Requests, and Good Karma
We try our best to maintain a certain level of quality, but sometimes bugs slip through, especially with such a wide-ranging code base. If you think you've found a bug, please report it using the SQL::Translator RT queue. You can monitor our CPAN testers results (RSS) or read some reviews (RSS). General questions and comments can be directed to the sqlfairy-developers mailing list, which is publicly archived and searchable.
If you find SQL::Translator useful, please rate it, tell your friends, and blog about it.
If you would like to contribute to the project, you can send patches to the developers mailing list at email@example.com, or send a message to one of the project admins (dlc, kycl4rk, or mwz444) asking to be added to the project and what you'd like to contribute. Be sure to include your SourceForge username.
SQL::Translator is free software; you can redistribute it and/or modify it under the same terms as Perl itself.