Allow DEFAULT CHARACTER SET without '=' (as produced by mysqldump)
[dbsrgits/SQL-Translator.git] / Changes
diff --git a/Changes b/Changes
index 854c65f..0245911 100644 (file)
--- a/Changes
+++ b/Changes
-2002-03-18 15:39  dlc
 
-       * Changes: Changelog file.
+* Add support for COLLATE table option to MySQL parser
+* Allow DEFAULT CHARACTER SET without '=' (as produced by mysqldump)
+
+# -----------------------------------------------------------
+# 0.0899_02 2008-01-29
+# ----------------------------------------------------------
+
+* Major refactoring of SQL::Translator::Diff again:
+* Diff is no longer one huge monolithic function.                         
+* Added more tests for diff                                               
+* When producing diffs for MySQL you will (by default) get single alter statements per table
+* SQLite can also do remove columns (by creating a temp table as shown in http://sqlite.org/faq.html#q11
+* Columns can be renamed if the new schema is from a form that can have metadata (which is pretty much anything but an SQL file.) It does this by looking at renamed_from in the $field->extra                              
+* Updated Oracle and Postgres producers
+* More tests!
 
-2002-03-18 15:39  dlc
+# -----------------------------------------------------------
+# 0.0899_01 2007-10-21
+# ----------------------------------------------------------
 
-       * Changes: file Changes was initially added on branch darren-1_0.
+* SQL::Translator::Diff now uses the ::Producer modules to create diffs
+  This *will* break back-compatibility
+  Use sqlt-diff-old for the previous one, and fix producers!
 
-2002-03-18 15:35  dlc
+# -----------------------------------------------------------
+# 0.08001 2007-09-26
+# ----------------------------------------------------------
 
-       * lib/SQL/Translator.pm: Updated docs, especially detailed internal
-       API docs.  Updated default sub to return the data structure (and
-       not the SQL::Translator instance). This became an issue once the
-       subs were redefined to accept two args.  Removed the possibility to
-       pass a filehandle (or something that can getlines) as an option to
-       translate.  Added many levels of code folding markers.  Updated
-       parser to use a named class::function style of defining a function
-       to call, just like producer.
+* Patched to ignore all TT versions >= 2.15 until TT is fixed :(
 
-2002-03-18 15:32  dlc
+# -----------------------------------------------------------
+# 0.08 2006-12-07
+# -----------------------------------------------------------
 
-       * t/04file,fh,string.t: Changed many assumptions about the test. 
-       Uses the default parser and producer (which is a pass through)
+* Patched 18ttschema-producer.t and 33tt-table-producter.t to skip on TT 2.15, thanks Ash!
 
-2002-03-18 15:30  dlc
+# -----------------------------------------------------------
+# 0.08_04 2006-11-10
+# -----------------------------------------------------------
 
-       * lib/SQL/Translator/Producer/Oracle.pm: Added note of a bug
+* Patched MySQL producer to name constraints sanely, thanks Ash
+* Added patch to Producer::DB2 to avoid dependency issues with foreign keys
+* Added patch to remove single quotes for numeric default values in Producer::DB2
+* Fixed Parser::SQLite to require a semicolon after a create trigger statement
+* Added patch from avinash to add CASCADE to pg table drops
 
-2002-03-15 15:18  dlc
+# -----------------------------------------------------------
+# 0.08_03
+# -----------------------------------------------------------
 
-       * MANIFEST, MANIFEST.skip, Makefile.PL: Added files.
+* Added patch to use default values for Pg timestamp fields
 
-2002-03-15 15:14  dlc
+# -----------------------------------------------------------
+# 0.08_02    2006-11-03
+# -----------------------------------------------------------
 
-       * Makefile.PL: file Makefile.PL was initially added on branch
-       darren-1_0.
+* Added patch from Ash to separate DROP statements in mysql producer in list-context
+* Fixed up SQLites usage of no-comments
 
-2002-03-15 15:14  dlc
+# -----------------------------------------------------------
+# 0.08_01    2006-07-23
+# -----------------------------------------------------------
 
-       * MANIFEST, MANIFEST.skip, Makefile.PL: Added MANIFEST,
-       MANIFEST.skip, and Makefile.PL
+* Made Trigger check that a give table exists in on_table - castaway
+* Split some producers (DB2, MySQL, SQLite, PostgreSQL) into sub methods (others to follow) - castaway
+* Add alter_* methods to some Producers and docs to Producer.pm (for use by Diff later) - castaway
+* Made changes to allow producers to return a list of statements - castaway
+* Split sqlt-diff into script and module - castaway
+* Added quote_table_names and quote_field_names patch (omega, zamolxes) - castaway
+* Added DB2 Producer - castaway
+* Added mysql_character_set for 4.1+ -mda
+* New filters, Names and Globals. -mda
+* Added the initial work on a template based Dia UML producer. -mda
 
-2002-03-15 15:14  dlc
+# -----------------------------------------------------------
+# 0.07    2005-06-10
+# -----------------------------------------------------------
+*   YAML parser supports extra attributes on tables.
 
-       * MANIFEST.skip: file MANIFEST.skip was initially added on branch
-       darren-1_0.
+*   All schema objects now support the extra attribute, so can
+    have arbitary name/value data attached to them.
 
-2002-03-15 15:14  dlc
+*   Refactoring: Added SQL::Translator::Schema::Object - base 
+    class for all Schema objects.
 
-       * MANIFEST: file MANIFEST was initially added on branch darren-1_0.
+*   Changes to MySQL Parser (Dave Howorth)
+    - ignore INSERT statements
+    - permit ALTER TABLE ADD FOREIGN KEY
+    - allow trailing comma on last field in CREATE statements
+    - collect the database name
 
-2002-03-15 15:13  dlc
+*   TTSchema Producer
+    - Can pass extra variables using tt_vars producer arg.
+    - Can pass extra config using tt_conf producer arg.
+    - Variables and config can be passed on the command line
+      with --tt-var and --tt-conf options to sqlt.
 
-       * lib/SQL/: Translator.pm, Translator/Parser.pm,
-       Translator/Producer.pm, Translator/Parser/MySQL.pm,
-       Translator/Producer/Oracle.pm: Added copyright notices to top of
-       files.  Updated documentation to be accurate.  Updated parser and
-       producer classes to work with the modified API defined by
-       SQL::Translate.  SQL::Translator instances have data members named
-       parser_type and producer_type that can be used to determine from
-       whence the parser and producer subroutines come.  SQL::Translator
-       will accept parsers and producers in the form
-       Class::Name::function, just like mod_perl, in addition to
-       Class::Name (with the implicit function name), Name (relative to
-       SQL::Translator::{Parser,Producer}, and anonymous subroutines.
+*   Added schema filters.
 
-2002-03-15 15:10  dlc
+*   MySQL Producer
+    - Added 'mysql_table_type' extra attribute on tables.
+    - Works out InnoDB tables from constraints.
+    - mysql_charset and mysql_collate extra attributes for tables and fiels.
 
-       * t/data/mysql/BGEP-RE-create.sql: file BGEP-RE-create.sql was
-       initially added on branch darren-1_0.
 
-2002-03-15 15:10  dlc
+# -----------------------------------------------------------
+# 0.06    2004-05-13
+# -----------------------------------------------------------
+*   Added SQL::Translator::Manual
 
-       * t/04file,fh,string.t: file 04file,fh,string.t was initially added
-       on branch darren-1_0.
+*   Installation process now uses Module::Build
 
-2002-03-15 15:10  dlc
+*   Added new "Dumper" producer
 
-       * t/02mysql-parser.t: file 02mysql-parser.t was initially added on
-       branch darren-1_0.
+*   Changed the native SQL Fairy XML format to a fixed mapping.
+    *NB:* You should convert your existing XML schema. See the
+    SQL::Translator::Parser::XML::SQLFairy docs.
 
-2002-03-15 15:10  dlc
+*   Added producers: TT::Base and TT::Table.
 
-       * t/data/mysql/Apache-Session-MySQL.sql: file
-       Apache-Session-MySQL.sql was initially added on branch darren-1_0.
+# -----------------------------------------------------------
+# 0.05    2004-02-27
+# -----------------------------------------------------------
+*   Added "COMMENT ON *" syntax to PostgreSQL parser
 
-2002-03-15 15:10  dlc
+*   Some fixes to Oracle parser as reported by Gail Binkley
 
-       * t/03mysql-to-oracle.t: file 03mysql-to-oracle.t was initially
-       added on branch darren-1_0.
+*   Added support in PostgreSQL parser for all "ALTER TABLE" statements
 
-2002-03-15 15:10  dlc
+*   Now distributing sqlt-diff script as it's pretty usable
 
-       * t/: 02mysql-parser.t, 03mysql-to-oracle.t, 04file,fh,string.t,
-       data/mysql/Apache-Session-MySQL.sql, data/mysql/BGEP-RE-create.sql:
-       Added test data in groovy hierarchical directories.  Added some
-       basic tests, many of which don't do much yet.
+*   Added new options to sqlt-graph and GraphViz producer (Dave Cash)
 
-2002-03-15 15:09  dlc
+# -----------------------------------------------------------
+# 0.04    2003-11-07
+# -----------------------------------------------------------
 
-       * bin/sql_translator.pl: Updated to work with my updated API. 
-       Added license to beginning.  Updated  to be CPAN-compliant.
+*   Increased version of Constants module to 1.41 to avoid a problem 
+    where 0.02 has 1.4 of that file and 0.03 had 1.06 which confused
+    CPAN
 
-2002-03-07 09:14  dlc
+*   Hard-coded all the PREREQ_PM modules in Makefile.PL (rather than
+    setting them dynamically) so that automated tests would pass
 
-       * lib/SQL/Translator.pm: Another attempt to check in a branch.
+# -----------------------------------------------------------
+# 0.03    2003-11-06
+# -----------------------------------------------------------
 
-2002-03-07 09:11  dlc
+*   Added parsers: XML::SQLFairy, Sybase, SQLite, DBI-MySQL, 
+    DBI-PostgreSQL, DBI-SQLite, DBI-Sybase, Storable, YAML
 
-       * lib/SQL/Translator.pm: Reverted to a version 1.1, due to botched
-       branch attempt.
+*   Added producers: XML::SQLFairy, TTSchema, Storable, YAML
 
-2002-03-07 09:06  dlc
+*   HTML producer now uses stylesheets to allow easy customization of colors
 
-       * lib/SQL/Translator.pm: Many, many changes.  Changed the basic
-       assumptions about the module.  Parser and Producer packages no
-       longer need to be object oriented, they merely need to implement a
-       parse or translate function (respectively).
+*   Many bug fixes to most every module
 
-2002-02-28 21:51  kycl4rk
+*   Added "sqlt-dumper" script to help create a script for dumping
+    a database a la "mysqldump"
 
-       * lib/SQL/.Translator.pm.swp: Stupid vim backup file.
+*   Reversed the arrowheads on the graphical producers to show the 
+    relationships in a more standard way
 
-2002-02-28 21:26  kycl4rk
+*   Changes all included script names to start with "sqlt"
 
-       * lib/SQL/.Translator.pm.swp, bin/sql_translator.pl,
-       lib/SQL/Translator.pm, lib/SQL/Translator/Parser.pm,
-       lib/SQL/Translator/Producer.pm, lib/SQL/Translator/Parser/MySQL.pm,
-       lib/SQL/Translator/Parser/Sybase.pm,
-       lib/SQL/Translator/Producer/Oracle.pm,
-       lib/SQL/Translator/Producer/XML.pm: Initial revision
+*   Added capturing and printing most embedded table and field comments
 
-2002-02-28 21:26  kycl4rk
+# -----------------------------------------------------------
+# 0.02    2003-06-17
+# -----------------------------------------------------------
 
-       * lib/SQL/.Translator.pm.swp, bin/sql_translator.pl,
-       lib/SQL/Translator.pm, lib/SQL/Translator/Parser.pm,
-       lib/SQL/Translator/Producer.pm, lib/SQL/Translator/Parser/MySQL.pm,
-       lib/SQL/Translator/Parser/Sybase.pm,
-       lib/SQL/Translator/Producer/Oracle.pm,
-       lib/SQL/Translator/Producer/XML.pm: Initial checkin.
+*   Added parsers for Excel and Oracle
 
+*   Removed Sybase parser because it didn't actually work
+
+*   Added ClassDBI, Diagram, GraphViz, HTML, POD, SQLite, Sybase producers
+
+*   Added Schema classes to represent schema as objects
+
+*   Removed "Raw" producer in favor of the Schema classes
+
+*   Removed "Validator" class as the Schema classes validate themselves
+
+*   Improved all existing parsers and producers, expanding them to 
+    handle foreign keys much better, produce better output, etc.
+
+*   Added sqlt-diagram.pl and sqlt-graphviz.pl as CLI frontends to the 
+    graphical producers
+
+*   Added sql_translator.cgi as a web-form frontend to graphical producers
+
+*   Expanded test suite
+
+# -----------------------------------------------------------
+# 0.01    2003-02-27
+# -----------------------------------------------------------
+
+*   Added parsers: XML::SQLFairy, Sybase, SQLite, DBI-MySQL, 
+    DBI-PostgreSQL, DBI-SQLite, DBI-Sybase, Storable, YAML
+
+*   Added producers: XML::SQLFairy, TTSchema, Storable, YAML
+
+*   HTML producer now uses stylesheets to allow easy customization of colors
+
+*   Many bug fixes to most every module
+
+*   Added "sqlt-dumper" script to help create a script for dumping
+    a database a la "mysqldump"
+
+*   Reversed the arrowheads on the graphical producers to show the 
+    relationships in a more standard way
+
+*   Changes all included script names to start with "sqlt"
+
+*   Added capturing and printing most embedded table and field comments