1bd0713eb291830b3e7ecd4bf53c60796a75192a
[dbsrgits/SQL-Translator.git] / TODO
1 *   Parse FOREIGN KEY / REFERENCES with SQLite as the latest version
2      supports them.
3
4 *   Add Parser/Producer for ActiveRecord::Migration 
5     [http://api.rubyonrails.com/classes/ActiveRecord/Migration.html].
6
7 *   The regular Sybase parser is only just functional.  If you are
8     interested in using Sybase, I would suggest serializing the schema
9     (via YAML or Storable) using the DBI-Sybase parser and then
10     manipulating that as you see fit. 
11
12 *   Add more DBI parsers!  These have the potential to be very
13     thorough and far faster than parsing text files with
14     Parse::RecDescent.
15
16 *   At least allow more pass-through of INSERT, DELETE, and UPDATE
17     statements
18
19 *   Add INSERT statements for xSV, Excel parsers to automatically
20     create INSERTs for each row of data in the source file
21
22 *   Somehow merge ClassDBI producer with CGI::FormBuilder or Template
23     Toolkit and some sort of automated CGI builder to create
24     view/create/edit/delete forms for objects based on schema defs
25
26 *   Embetter the Diagram producer to use some real graphing algorithms
27     to distribute the tables so that the lines don't overlap so badly
28
29 *   Integrate more with some standard XML schema representations,
30     maybe like Torque DB (http://db.apache.org/torque/).  We've
31     started messing around with XMI, too, but it isn't quite usable.
32
33 *   Possibly write a basic ANSI-92 SQL parser which could be extended
34     when writing other new parsers.
35
36 *   Make as many "required" modules as possible optional.  This will
37     require support in the Makefile, the tests, and the modules
38     themselves (they'll need to die gracefully if prerequisites are
39     not installed).
40
41 *   Support for precompiled Parse::RecDescent grammars.
42 - This is easy and I've done it locally with the DB2 parser - Jess
43
44 *   More code generation producers, such as Java, PHP, and Python.
45
46 *   Integrate Module::Pluggable as a replacement for the _list method.