diff --git a/Changes b/Changes index 3a4e1c423..c1c1a2c1d 100644 --- a/Changes +++ b/Changes @@ -1,299 +1,386 @@ -# ---------------------------------------------------------- -# 0.11016 2012-10-09 -# ---------------------------------------------------------- - -* Allow passing an arrayref to SQLT->filename (lost in Mooification) - -# ---------------------------------------------------------- -# 0.11015 2012-10-05 -# ---------------------------------------------------------- - -* Fix stupid missing version number in SQL::Translator::Schema::Object - -# ---------------------------------------------------------- -# 0.11014 2012-10-05 -# ---------------------------------------------------------- - -* Relicense under Perl 5 terms - -# ---------------------------------------------------------- -# 0.11013_03 2012-09-25 -# ---------------------------------------------------------- - -* Remove SQL::Translator::Schema::Graph as announced in 0.11011 -* Remove a number of no longer needed deps - -# ---------------------------------------------------------- -# 0.11013_02 2012-09-23 -# ---------------------------------------------------------- - -* Fix missing dep (List::MoreUtils) - -# ---------------------------------------------------------- -# 0.11013_01 2012-09-22 -# ---------------------------------------------------------- - -* Convert SQL::Translator, ::Schema and ::Schema::* to Moo -* Fix leaks by weakening circular references between schema objects - -# ---------------------------------------------------------- -# 0.11013 2012-09-22 -# ---------------------------------------------------------- - -* Make MySQL producer add NULL after every nullable field, conforming to SQL - standard, and avoiding MySQL bugs - -# ---------------------------------------------------------- -# 0.11012 2012-07-02 -# ---------------------------------------------------------- - -* Fix/update quoting in PostgreSQL producer -* Add missing quote function to SQLServer producer -* Fix incorrect Parser::DBI documentation (RT#60878) - -# ---------------------------------------------------------- -# 0.11011 2012-05-09 -# ---------------------------------------------------------- - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*** INCOMPATIBLE CHANGES: -* SQLT no longer supports setting separate conflicting values for the now - deprecated 'quote_table_names' and 'quote_field_names'. Instead their values - are proxied to the new 'quote_identifiers'. If 'quote_identifiers' is - supplied, the legacy settings are ignored (with a warning). If nothing is - specified the default is TRUE as before. If only one is specified - default - to its value for everything, and if both are specified with a conflicting - value an exception is thrown. -* Partial quoting support has been added in SQLite. It is currently disabled by - default, you need to request is explicitly with quote_identifiers => 1. In a - future version of SQL::Translator *THIS DEFAULT BEHAVIOR WILL CHANGE*. - If you do NOT WANT quoting, set quote_identifiers to a false value to - protect yourself from changes in a future release. -* Bump the default MySQL parser version to MySQL 4.0 -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -* script/sqlt-graph now accepts a --trace option -* Fixes to SQLite foreign keys production (patch from Johan Viklund) - closes RT#16412, RT#44769 -* ON DELETE/UPDATE actions for SQLite (patch from Lukas Thiemeier) - closes RT#70734, RT#71283, RT#70378 -* Fix data preservation on SQLite diffs involving adding/dropping columns -* Support for triggers in PostgreSQL producer and parser -* Correct Data Type in SQLT::Parser::DBI::PostgreSQL (patch from Andrew Pam) -* Fix index issue in SQLT::Parser::DBI::PostgreSQL -* Add column and table comments in SQLT::Parser::DBI::PostgreSQL(patch from Andrew Pam) -* Stop the DBI parser from disconnecting externally supplied DBI handles (RT#35868) -* Fixed alter_drop_constraint for foreign keys and applying multiple changes - via alter_field to a column in Postgres Producer -* Added a working mechanism for naming foreign keys in the PostgreSQL producer -* Fix PostgreSQL ignoring default values with specified data type -* Fix PostgreSQL parser support for (N)::int defaults (patch by Tina Müller) -* Fix possible name duplication in SQLlite producer -* Oracle does not accept ON DELETE/UPDATE RESTRICT (though it is the actual default) - fix by not adding the ON DELETE/UPDATE clause at all -* Changed dependency on Digest::SHA1 to the core-bundled Digest::SHA (RT#67989) -* Support for double quoted and bit strings as default values in MySQL parser -* Improved VIEW support in MySQL parser -* Proper handling of CURRENT_TIMESTAMP default values in MySQL parser (RT#65844) -* Check in MySQL parser to avoid trying to parse a table defined twice in the same - file as indices (and probably other things) get messed up -* Workaround for some MySQL quirks on primary key definitions -* Fix dropping primary keys in MySQL diffs (RT#62250, patch from Nick Bertrand) -* MySQL producer does not attempt to write out non-existent unique constraint names -* MySQL parser correctly differentiates between signed and unsigned integer column - display sizes -* Replace Class::Accessor::Fast dependency with already-included Moo -* Entire codebase is now free of tabs and trailing whitespace -* Spellfixes (RT#68912) -* Fix Diagram Producer POD (RT#71397, RT#71398) -* Fix Diagram Producer to use correct binmode on output (RT#71399) -* Fix ignored option to script/sqlt-diagram (RT#5992) -* Fix t/17sqlfxml-producer.t failures due to whitespace differences introduced by - environment config snippets (RT#70786) -* Fix assembly of Table objects with numbered columns being added out of order - (RT#74771) (based on patch from Jonathan Otsuka) -* Fix syntax error in SQL::Translator::Producer::Latex (RT#74953) -* Deprecate SQL::Translator::Schema::Graph and the as_graph() schema method -* Bump minimum supported perl version to 5.8.1 (mostly due to Moo) - -# ---------------------------------------------------------- -# 0.11010 2011-10-05 -# ---------------------------------------------------------- - -* Add "if exists" to drop view statements in Pg. - -# ---------------------------------------------------------- -# 0.11009 2011-09-02 -# ---------------------------------------------------------- - -* Fix MySQL producer to properly quote all table names on output (patch from geistteufel) - -# ---------------------------------------------------------- -# 0.11008 2011-05-04 -# ---------------------------------------------------------- - -* Correctly create and parse FK constraints in SQLite -* Correct postgis geography type insertion and linebreak fix for multiple geometry/geography columns -* made PostgreSQL producer consistent with other producers in terms of - quoting and allowing functions in constraints and indices -* Add distinction of autoinc and regular primary keys to the GraphViz producer -* Fix odd invocation of Test::More::pass() in t/36-filters.t (RT#64728) -* Quote everything in SQL Server -* Turn off constraints before dropping tables in SQL Server -* Make true unique constraints if needed in SQL Server -* Fixed Producer::PostgresSQL to output array type after type size, - i.e. varchar(64)[] rather than varchar[](64) - -# ---------------------------------------------------------- -# 0.11007 2010-11-30 -# ---------------------------------------------------------- - -* Fix POD typo in SQL/Translator/Schema/Trigger.pm -* Add explicit Scalar::Util to the deplist for really old perls -* Add support for PostGIS Geometry and Geography data types in the Pg producer -* Some minor fixes to squash warnings on new perls -* Support a custom_type_name hint when creating enum types in PostgreSQL -* Fix sqlt options/pod mismatch (RT#58318) -* Oracle Producer multicolumn constraint support -* Add support for triggers in the MySQL producer -* Fix unstable order of View's in MySQL parser - -# ---------------------------------------------------------- -# 0.11006 2010-06-03 -# ---------------------------------------------------------- -* Fix Producer::Oracle varchar2 without size def (ORA-00906: missing right - parenthesis) -* Fix Producer::Oracle translate float and double to float instead of number -* Fix Producer::Oracle generation of too long unique constraint names -* Fix Producer::SQLite when generating VIEWs with add_drop_table => 1 -* Fix Producer::MySQL not quoting index names when requested (RT#56173) -* Fix Producer::MySQL wrapping extra ()s around VIEW SELECT-ors (RT#56419) -* Fix Field::default_value to behave like a real accessor (allow undef as - an unsetting argument) -* Fix Mysql/Pg/SQLite/MSSQL producers to properly *not* quote numeric default - values (RT#57059) -* Producer::Oracle tests now use Test::Differences -* Prettify output of SQLite producer (less bogus newlines) -* Augment SQLite and Pg producers to accept a perl-formatted (%d.%03d%03d) - and regular no-leading-zero (X.X.X) *_version producer args - -# ---------------------------------------------------------- -# 0.11005 2010-02-24 -# ---------------------------------------------------------- -* Fix Parser::DBI::Oracle reading too many tables (RT#49413) -* Fix Parser::MySQL tripping up on PRIMARY KEY ... USING (currently value is ignored) (RT#50468) -* Fix runaway debug trace (RT#52276) -* Fix Parser::PostgreSQL choking on commit; statements in DDL (#RT52277) -* Producer::Oracle now respects quote_field|table_names, and - no longer does name munging of reserved table names -* Producer::Oracle now correctly outputs databse-unique index names - -# ---------------------------------------------------------- -# 0.11004 2010-02-14 -# ---------------------------------------------------------- -* Fix PG producer numeric precision regression (RT#49301) -* Add DB2 producer numeric/decimal precision output -* Fix Oracle producer creating numeric precision statements that the test case expects (no whitespace) -* Add Oracle producer creating drop view statements like PG producer does -* Fix SQL::Translator::Diff to use producer_args instead of producer_options - -# ---------------------------------------------------------- -# 0.11003 2009-09-28 -# ---------------------------------------------------------- -* Pg parser fixes to deal properly with MATCH -* Pg parser fixes to parse timestamp attributes correctly -* Fix broken default detection in script/sqlt (RT#27438) -* Fix dependency issues with LibXML and TT - -# ---------------------------------------------------------- -# 0.11002 2009-08-30 -# ---------------------------------------------------------- -* Depend on fixed Parse::RecDescent -* Added skip-tables and skip-tables-like options to Diagram - -# ---------------------------------------------------------- -# 0.11001 2009-08-18 -# ---------------------------------------------------------- -* Removed last use of Readonly -* Adjusted YAML dependency - -# ---------------------------------------------------------- -# 0.11000 2009-08-18 -# ---------------------------------------------------------- -* Re-add version numbers to files, else cpan's "upgrade" gets very confused -* Replaced code using Readonly, since most of the rest uses constant, and thats already a dep -* Moved YAML and XML::LibXML back to recommends, the tests for both now skip if not installed -* Bumped to 0.11000 to supercede 0.10 which has incorrect numbering scheme - -# ---------------------------------------------------------- -# 0.10 2009-08-13 -# ---------------------------------------------------------- -* Resolved the following RT bugs (thanks to everyone for reporting!): -25791 does not recognize PostgreSQL ON_ERROR_STOP -29265 sqlt-diagram: --natural-join needs Graph::Directed -37814 SQLite translator failing to parse schema -42548 Producer::PostgreSQL incorrectly inserts the size in - 'time(stamp)? with(out) time zone' fields -43173 SQL::Translator::Parser without versionnumber - will install - old 0.09002 -46805 (No subject) -47026 META.yml is not packaged due to MANIFEST.SKIP (easyfix) -32130 Move from XML::XPath to XML::LibXML::XPathContext -22261 MySQL parse -13915 missing optional prerequisite cause make test to fail -8847 Diagram.pm: BINMODE missing in printing of graphic file. -21065 GraphViz producer fails on tables named 'node' -35448 Producer::PostgreSQL types without size -22026 sqlt-diagram uses -f arg twice -47897 [PATCH] Fix uninitialized value within @_ in (uc|lc) -47668 Mysql Parser doesn't recognize key types -46448 sqlt-graph errors out on MySQL DDL with btree keys -47176 Add Foreign Key support to Parser::DBI::PostgreSQL.pm -48025 MySQL Producer: Case inconsistency between elements in - @no_length_attr and $data_type -48569 sqlt-diagram fails to load SQLite schema -48596 SQL::Translator::Diff::schema_diff should produce a list in - list context -44907 SQL::Translator::Producer::PostgreSQL produce() in list context - should return a list of statements - -# ---------------------------------------------------------- -# 0.09007 2009-06-25 -# ---------------------------------------------------------- -* Fixed Pg parser - caching the compiled P::RD schema is a *very* - bad idea -* Fix MSSQL handling of ON UPDATE/DELETE RESTRICT -* Delay MSSQL FK constraint deployment until after all CREATE TABLE - statements -* Coerce other engine's bytea/blob/clob datatypes to VarBinary - -# ---------------------------------------------------------- -# 0.09006 2009-06-10 -# ---------------------------------------------------------- -* Multiple test and dependency adhustments to make smokers happy -* Fix YAML producer wrt extra attribute -* Added support for "time(stamp) (p) with time zone" for Pg producer (mo) - -# ---------------------------------------------------------- -# 0.09005 2009-06-08 -# ---------------------------------------------------------- -* Add parser support for MySQL default values with a single quote -* Properly quote absolute table names in the MySQL producer -* Added CREATE VIEW subrules for mysql parser (wreis) -* Many fixes to code and tests for trigger's "database_events" -* Added semi-colon for (DROP|CREATE) TYPE statements in the Pg producer (wreis) -* ALTER TABLE/ALTER COLUMN/DROP DEFAULT support in Pg producer (mo) -* XML parser support for multi-event triggers -* SQLite producer support for multi-event triggers -* XML parser switched from XML::XPath to XML::LibXML -* Pg producer ALTER TABLE/COLUMN and DROP DEFAULT support -* MySQL producer skips length attribute for columns which do not support that - attribute. Currently following column types are added to that list: - date time timestamp datetime year -* Switch to Module::Install (mandates minimum perl 5.005) -* Major cleanup of GraphViz proucer -* Massive amount of fixes to SQLite/Pg/Mysql/MSSQL parsers/producers - Fix most of the problems uncovered by the roundtrip test framework - Some highlights: +Changes for SQL::Translator + +0.11016 2012-10-09 + + * Allow passing an arrayref to SQLT->filename (lost in Mooification) + +0.11015 2012-10-05 + + * Fix stupid missing version number in SQL::Translator::Schema::Object + +0.11014 2012-10-05 + + * Relicense under Perl 5 terms + +0.11013_03 2012-09-25 + + * Remove SQL::Translator::Schema::Graph as announced in 0.11011 + + * Remove a number of no longer needed deps + +0.11013_02 2012-09-23 + + * Fix missing dep (List::MoreUtils) + +0.11013_01 2012-09-22 + + * Convert SQL::Translator, ::Schema and ::Schema::* to Moo + + * Fix leaks by weakening circular references between schema objects + +0.11013 2012-09-22 + + * Make MySQL producer add NULL after every nullable field, conforming to SQL + standard, and avoiding MySQL bugs + +0.11012 2012-07-02 + + * Fix/update quoting in PostgreSQL producer + + * Add missing quote function to SQLServer producer + + * Fix incorrect Parser::DBI documentation (RT#60878) + +0.11011 2012-05-09 + + [ INCOMPATIBLE CHANGES ] + + * SQLT no longer supports setting separate conflicting values for the now + deprecated 'quote_table_names' and 'quote_field_names'. Instead their values + are proxied to the new 'quote_identifiers'. If 'quote_identifiers' is + supplied, the legacy settings are ignored (with a warning). If nothing is + specified the default is TRUE as before. If only one is specified - default + to its value for everything, and if both are specified with a conflicting + value an exception is thrown. + + * Partial quoting support has been added in SQLite. It is currently disabled by + default, you need to request is explicitly with quote_identifiers => 1. In a + future version of SQL::Translator *THIS DEFAULT BEHAVIOR WILL CHANGE*. + If you do NOT WANT quoting, set quote_identifiers to a false value to + protect yourself from changes in a future release. + + * Bump the default MySQL parser version to MySQL 4.0 + + [ OTHER CHANGES ] + + * script/sqlt-graph now accepts a --trace option + + * Fixes to SQLite foreign keys production (patch from Johan Viklund) + closes RT#16412, RT#44769 + + * ON DELETE/UPDATE actions for SQLite (patch from Lukas Thiemeier) + closes RT#70734, RT#71283, RT#70378 + + * Fix data preservation on SQLite diffs involving adding/dropping columns + + * Support for triggers in PostgreSQL producer and parser + + * Correct Data Type in SQLT::Parser::DBI::PostgreSQL (patch from Andrew Pam) + + * Fix index issue in SQLT::Parser::DBI::PostgreSQL + + * Add column and table comments in SQLT::Parser::DBI::PostgreSQL(patch from Andrew Pam) + + * Stop the DBI parser from disconnecting externally supplied DBI handles (RT#35868) + + * Fixed alter_drop_constraint for foreign keys and applying multiple changes + via alter_field to a column in Postgres Producer + + * Added a working mechanism for naming foreign keys in the PostgreSQL producer + + * Fix PostgreSQL ignoring default values with specified data type + + * Fix PostgreSQL parser support for (N)::int defaults (patch by Tina Müller) + + * Fix possible name duplication in SQLlite producer + + * Oracle does not accept ON DELETE/UPDATE RESTRICT (though it is the actual default) + fix by not adding the ON DELETE/UPDATE clause at all + + * Changed dependency on Digest::SHA1 to the core-bundled Digest::SHA (RT#67989) + + * Support for double quoted and bit strings as default values in MySQL parser + + * Improved VIEW support in MySQL parser + + * Proper handling of CURRENT_TIMESTAMP default values in MySQL parser (RT#65844) + + * Check in MySQL parser to avoid trying to parse a table defined twice in the same + file as indices (and probably other things) get messed up + + * Workaround for some MySQL quirks on primary key definitions + + * Fix dropping primary keys in MySQL diffs (RT#62250, patch from Nick Bertrand) + + * MySQL producer does not attempt to write out non-existent unique constraint names + + * MySQL parser correctly differentiates between signed and unsigned integer column + display sizes + + * Replace Class::Accessor::Fast dependency with already-included Moo + + * Entire codebase is now free of tabs and trailing whitespace + + * Spellfixes (RT#68912) + + * Fix Diagram Producer POD (RT#71397, RT#71398) + + * Fix Diagram Producer to use correct binmode on output (RT#71399) + + * Fix ignored option to script/sqlt-diagram (RT#5992) + + * Fix t/17sqlfxml-producer.t failures due to whitespace differences introduced by + environment config snippets (RT#70786) + + * Fix assembly of Table objects with numbered columns being added out of order + (RT#74771) (based on patch from Jonathan Otsuka) + + * Fix syntax error in SQL::Translator::Producer::Latex (RT#74953) + + * Deprecate SQL::Translator::Schema::Graph and the as_graph() schema method + + * Bump minimum supported perl version to 5.8.1 (mostly due to Moo) + + +0.11010 2011-10-05 + + * Add "if exists" to drop view statements in Pg. + + +0.11009 2011-09-02 + + * Fix MySQL producer to properly quote all table names on output (patch from geistteufel) + + +0.11008 2011-05-04 + + * Correctly create and parse FK constraints in SQLite + + * Correct postgis geography type insertion and linebreak fix for multiple geometry/geography columns + + * made PostgreSQL producer consistent with other producers in terms of + quoting and allowing functions in constraints and indices + + * Add distinction of autoinc and regular primary keys to the GraphViz producer + + * Fix odd invocation of Test::More::pass() in t/36-filters.t (RT#64728) + + * Quote everything in SQL Server + + * Turn off constraints before dropping tables in SQL Server + + * Make true unique constraints if needed in SQL Server + + * Fixed Producer::PostgresSQL to output array type after type size, + i.e. varchar(64)[] rather than varchar[](64) + + +0.11007 2010-11-30 + + * Fix POD typo in SQL/Translator/Schema/Trigger.pm + + * Add explicit Scalar::Util to the deplist for really old perls + + * Add support for PostGIS Geometry and Geography data types in the Pg producer + + * Some minor fixes to squash warnings on new perls + + * Support a custom_type_name hint when creating enum types in PostgreSQL + + * Fix sqlt options/pod mismatch (RT#58318) + + * Oracle Producer multicolumn constraint support + + * Add support for triggers in the MySQL producer + + * Fix unstable order of View's in MySQL parser + + +0.11006 2010-06-03 + + * Fix Producer::Oracle varchar2 without size def (ORA-00906: missing right + parenthesis) + + * Fix Producer::Oracle translate float and double to float instead of number + + * Fix Producer::Oracle generation of too long unique constraint names + + * Fix Producer::SQLite when generating VIEWs with add_drop_table => 1 + + * Fix Producer::MySQL not quoting index names when requested (RT#56173) + + * Fix Producer::MySQL wrapping extra ()s around VIEW SELECT-ors (RT#56419) + + * Fix Field::default_value to behave like a real accessor (allow undef as + an unsetting argument) + + * Fix Mysql/Pg/SQLite/MSSQL producers to properly *not* quote numeric default + values (RT#57059) + + * Producer::Oracle tests now use Test::Differences + + * Prettify output of SQLite producer (less bogus newlines) + + * Augment SQLite and Pg producers to accept a perl-formatted (%d.%03d%03d) + and regular no-leading-zero (X.X.X) *_version producer args + + +0.11005 2010-02-24 + + * Fix Parser::DBI::Oracle reading too many tables (RT#49413) + + * Fix Parser::MySQL tripping up on PRIMARY KEY ... USING (currently value is + ignored) (RT#50468) + + * Fix runaway debug trace (RT#52276) + + * Fix Parser::PostgreSQL choking on commit; statements in DDL (#RT52277) + + * Producer::Oracle now respects quote_field|table_names, and + no longer does name munging of reserved table names + + * Producer::Oracle now correctly outputs databse-unique index names + + +0.11004 2010-02-14 + + * Fix PG producer numeric precision regression (RT#49301) + + * Add DB2 producer numeric/decimal precision output + + * Fix Oracle producer creating numeric precision statements that the test case + expects (no whitespace) + + * Add Oracle producer creating drop view statements like PG producer does + + * Fix SQL::Translator::Diff to use producer_args instead of producer_options + + +0.11003 2009-09-28 + + * Pg parser fixes to deal properly with MATCH + + * Pg parser fixes to parse timestamp attributes correctly + + * Fix broken default detection in script/sqlt (RT#27438) + + * Fix dependency issues with LibXML and TT + + +0.11002 2009-08-30 + + * Depend on fixed Parse::RecDescent + + * Added skip-tables and skip-tables-like options to Diagram + + +0.11001 2009-08-18 + + * Removed last use of Readonly + + * Adjusted YAML dependency + + +0.11000 2009-08-18 + + * Re-add version numbers to files, else cpan's "upgrade" gets very confused + + * Replaced code using Readonly, since most of the rest uses constant, and thats + already a dep + + * Moved YAML and XML::LibXML back to recommends, the tests for both now skip if not + installed + + * Bumped to 0.11000 to supercede 0.10 which has incorrect numbering scheme + + +0.10 2009-08-13 + + * Resolved the following RT bugs (thanks to everyone for reporting!): + - 25791 does not recognize PostgreSQL ON_ERROR_STOP + - 29265 sqlt-diagram: --natural-join needs Graph::Directed + - 37814 SQLite translator failing to parse schema + - 42548 Producer::PostgreSQL incorrectly inserts the size in + 'time(stamp)? with(out) time zone' fields + - 43173 SQL::Translator::Parser without versionnumber - will install + old 0.09002 + - 46805 (No subject) + - 47026 META.yml is not packaged due to MANIFEST.SKIP (easyfix) + - 32130 Move from XML::XPath to XML::LibXML::XPathContext + - 22261 MySQL parse + - 13915 missing optional prerequisite cause make test to fail + - 8847 Diagram.pm: BINMODE missing in printing of graphic file. + - 21065 GraphViz producer fails on tables named 'node' + - 35448 Producer::PostgreSQL types without size + - 22026 sqlt-diagram uses -f arg twice + - 47897 [PATCH] Fix uninitialized value within @_ in (uc|lc) + - 47668 Mysql Parser doesn't recognize key types + - 46448 sqlt-graph errors out on MySQL DDL with btree keys + - 47176 Add Foreign Key support to Parser::DBI::PostgreSQL.pm + - 48025 MySQL Producer: Case inconsistency between elements in + @no_length_attr and $data_type + - 48569 sqlt-diagram fails to load SQLite schema + - 48596 SQL::Translator::Diff::schema_diff should produce a list in + list context + - 44907 SQL::Translator::Producer::PostgreSQL produce() in list context + should return a list of statements + + +0.09007 2009-06-25 + + * Fixed Pg parser - caching the compiled P::RD schema is a *very* + bad idea + + * Fix MSSQL handling of ON UPDATE/DELETE RESTRICT + + * Delay MSSQL FK constraint deployment until after all CREATE TABLE + statements + + * Coerce other engine's bytea/blob/clob datatypes to VarBinary + + +0.09006 2009-06-10 + + * Multiple test and dependency adhustments to make smokers happy + + * Fix YAML producer wrt extra attribute + + * Added support for "time(stamp) (p) with time zone" for Pg producer (mo) + + +0.09005 2009-06-08 + + * Add parser support for MySQL default values with a single quote + + * Properly quote absolute table names in the MySQL producer + + * Added CREATE VIEW subrules for mysql parser (wreis) + + * Many fixes to code and tests for trigger's "database_events" + + * Added semi-colon for (DROP|CREATE) TYPE statements in the Pg producer (wreis) + + * ALTER TABLE/ALTER COLUMN/DROP DEFAULT support in Pg producer (mo) + + * XML parser support for multi-event triggers + + * SQLite producer support for multi-event triggers + + * XML parser switched from XML::XPath to XML::LibXML + + * Pg producer ALTER TABLE/COLUMN and DROP DEFAULT support + + * MySQL producer skips length attribute for columns which do not support that + attribute. Currently following column types are added to that list: + date time timestamp datetime year + + * Switch to Module::Install (mandates minimum perl 5.005) + + * Major cleanup of GraphViz proucer + + * Massive amount of fixes to SQLite/Pg/Mysql/MSSQL parsers/producers. + Fix most of the problems uncovered by the roundtrip test framework. + Some highlights: - Rewind exhausted globs before attempting a read - Do not add xml comment header if no_comments is set - table/field counts are held per schema object, not globally @@ -307,290 +394,321 @@ - Support parsing of field-level comments - When producing do not append table names to constraint/index names -# ---------------------------------------------------------- -# 0.09004 2009-02-13 -# ---------------------------------------------------------- -* Add support for temporary tables in Pg (nachos) -* Create Trigger support for SQLite -* GraphViz producer improvements - -# ---------------------------------------------------------- -# 0.09003 2009-02-07 -# ---------------------------------------------------------- - - -# ---------------------------------------------------------- -# 0.09002 2008-12-05 -# ---------------------------------------------------------- -* parsing MySQL CURRENT_TIMESTAMP as scalar ref so it can be produced without - quotes (jgoulah) -* Add ignore_opts parser arg (to ignore table options) in Parser::MySQL (jgoulah) -* Skip tests for buggy Spreadsheet::ParseExcel versions (rbo) -* Add support for skip tables parser arg in Parser::DBI::MySQL (jgoulah) -* Changed behaviour of ::Producer::Oracle when returning an array of statements - to make it compatible to DBI->do() -* Fixed a few bugs in ::Producer::Oracle -* Applied patch from jgoulah to support mysql's MERGE option -* Applied patch from rbo to add support of multiple database events on a trigger -* Applied patch from lukes to allow drop if exists in sqlite producer, with - version >= 3.3 -* Applied patch from rjbs with minor changes, now we support scalar refs in - default values! -* Fixed SQLite producer to end index statements in newlines, in scalar context -* Decreed that all list context statements shall not end in ; or ;\n -* Fixed SQLite, Diff and MySQL producers to agree with Decree. -* Added support for CREATE VIEW + tests in the Pg producer (wreis) -* Added support for CREATE VIEW + tests in the sqlite producer (groditi) -* Added proper argument parsing and documentation to MySQL Parser and - Producer (ribasushi) -* Using DROP VIEW instead of OR REPLACE clause in the Pg producer, as replace - only allows replacement with identical set of columns (wreis) -* Added support for DROP VIEW and fixed CREATE VIEW statement in the sqlite - producer (wreis) -* Removed source_db and target_db accessors from Diff (throwback to old version, - only output_db is used) - - -* Support for longer varchar fields in MySQL - -# ---------------------------------------------------------- -# 0.09001 2008-08-19 -# ---------------------------------------------------------- -* Added support for CREATE VIEW + tests in the mysql producer (groditi) -* Added support for SET fields in the mysql producer + test (groditi) -* Added support for proper booleans in the mysql producer, when a mysql version - of at least 4.x is supplied -* Added support for proper enums under pg (as of 8.3), with pg version check, - and deferrable constraints -* Added support to truncate long constraint and index names in the mysql - producer, because of a change to DBIx::Class to produce such long names in - some cases. - -# ---------------------------------------------------------- -# 0.09000 2008-02-25 -# ---------------------------------------------------------- - -* Fix Pg produces idea of which field types need a size param (wreis) -* 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! - -# ----------------------------------------------------------- -# 0.0899_01 2007-10-21 -# ---------------------------------------------------------- - -* 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! - -# ----------------------------------------------------------- -# 0.08001 2007-09-26 -# ---------------------------------------------------------- - -* Patched to ignore all TT versions >= 2.15 until TT is fixed :( - -# ----------------------------------------------------------- -# 0.08 2006-12-07 -# ----------------------------------------------------------- - -* Patched 18ttschema-producer.t and 33tt-table-producter.t to skip on TT 2.15, - thanks Ash! - -# ----------------------------------------------------------- -# 0.08_04 2006-11-10 -# ----------------------------------------------------------- - -* 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 - -# ----------------------------------------------------------- -# 0.08_03 -# ----------------------------------------------------------- + +0.09004 2009-02-13 + + * Add support for temporary tables in Pg (nachos) + + * Create Trigger support for SQLite + + * GraphViz producer improvements + + +0.09003 2009-02-07 + + * + + +0.09002 2008-12-05 + + * parsing MySQL CURRENT_TIMESTAMP as scalar ref so it can be produced without + quotes (jgoulah) + + * Add ignore_opts parser arg (to ignore table options) in Parser::MySQL (jgoulah) + + * Skip tests for buggy Spreadsheet::ParseExcel versions (rbo) + + * Add support for skip tables parser arg in Parser::DBI::MySQL (jgoulah) + + * Changed behaviour of ::Producer::Oracle when returning an array of statements + to make it compatible to DBI->do() + + * Fixed a few bugs in ::Producer::Oracle + + * Applied patch from jgoulah to support mysql's MERGE option + + * Applied patch from rbo to add support of multiple database events on a trigger + + * Applied patch from lukes to allow drop if exists in sqlite producer, with + version >= 3.3 + + * Applied patch from rjbs with minor changes, now we support scalar refs in + default values! + + * Fixed SQLite producer to end index statements in newlines, in scalar context + + * Decreed that all list context statements shall not end in ; or ;\n + + * Fixed SQLite, Diff and MySQL producers to agree with Decree. + + * Added support for CREATE VIEW + tests in the Pg producer (wreis) + + * Added support for CREATE VIEW + tests in the sqlite producer (groditi) + + * Added proper argument parsing and documentation to MySQL Parser and + Producer (ribasushi) + + * Using DROP VIEW instead of OR REPLACE clause in the Pg producer, as replace + only allows replacement with identical set of columns (wreis) + + * Added support for DROP VIEW and fixed CREATE VIEW statement in the sqlite + producer (wreis) + + * Removed source_db and target_db accessors from Diff (throwback to old version, + only output_db is used) + + * Support for longer varchar fields in MySQL + + +0.09001 2008-08-19 + + * Added support for CREATE VIEW + tests in the mysql producer (groditi) + + * Added support for SET fields in the mysql producer + test (groditi) + + * Added support for proper booleans in the mysql producer, when a mysql version + of at least 4.x is supplied + + * Added support for proper enums under pg (as of 8.3), with pg version check, + and deferrable constraints + + * Added support to truncate long constraint and index names in the mysql + producer, because of a change to DBIx::Class to produce such long names in + some cases. + + +0.09000 2008-02-25 + + * Fix Pg produces idea of which field types need a size param (wreis) + + * 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! + + +0.0899_01 2007-10-21 + + * 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! + + +0.08001 2007-09-26 + + * Patched to ignore all TT versions >= 2.15 until TT is fixed :( + + +0.08 2006-12-07 + + * Patched 18ttschema-producer.t and 33tt-table-producter.t to skip on TT 2.15, + thanks Ash! + + +0.08_04 2006-11-10 + + * 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 + + +0.08_03 * Added patch to use default values for Pg timestamp fields -# ----------------------------------------------------------- -# 0.08_02 2006-11-03 -# ----------------------------------------------------------- - -* Added patch from Ash to separate DROP statements in mysql producer in - list-context -* Fixed up SQLites usage of no-comments - -# ----------------------------------------------------------- -# 0.08_01 2006-07-23 -# ----------------------------------------------------------- - -* 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 - -# ----------------------------------------------------------- -# 0.07 2005-06-10 -# ----------------------------------------------------------- -* YAML parser supports extra attributes on tables. - -* All schema objects now support the extra attribute, so can - have arbitary name/value data attached to them. - -* Refactoring: Added SQL::Translator::Schema::Object - base - class for all Schema objects. - -* Changes to MySQL Parser (Dave Howorth) + +0.08_02 2006-11-03 + + * Added patch from Ash to separate DROP statements in mysql producer in + list-context + + * Fixed up SQLites usage of no-comments + + +0.08_01 2006-07-23 + + * 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 + + +0.07 2005-06-10 + + * YAML parser supports extra attributes on tables. + + * All schema objects now support the extra attribute, so can + have arbitary name/value data attached to them. + + * Refactoring: Added SQL::Translator::Schema::Object - base + class for all Schema objects. + + * 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 -* TTSchema Producer + * 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. -* Added schema filters. + * Added schema filters. -* MySQL Producer + * 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. -# ----------------------------------------------------------- -# 0.06 2004-05-13 -# ----------------------------------------------------------- -* Added SQL::Translator::Manual +0.06 2004-05-13 + + * Added SQL::Translator::Manual + + * Installation process now uses Module::Build + + * Added new "Dumper" producer + + * 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. + + * Added producers: TT::Base and TT::Table. + + +0.05 2004-02-27 -* Installation process now uses Module::Build + * Added "COMMENT ON *" syntax to PostgreSQL parser -* Added new "Dumper" producer + * Some fixes to Oracle parser as reported by Gail Binkley -* 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. + * Added support in PostgreSQL parser for all "ALTER TABLE" statements -* Added producers: TT::Base and TT::Table. + * Now distributing sqlt-diff script as it's pretty usable -# ----------------------------------------------------------- -# 0.05 2004-02-27 -# ----------------------------------------------------------- -* Added "COMMENT ON *" syntax to PostgreSQL parser + * Added new options to sqlt-graph and GraphViz producer (Dave Cash) -* Some fixes to Oracle parser as reported by Gail Binkley -* Added support in PostgreSQL parser for all "ALTER TABLE" statements +0.04 2003-11-07 -* Now distributing sqlt-diff script as it's pretty usable + * 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 -* Added new options to sqlt-graph and GraphViz producer (Dave Cash) + * Hard-coded all the PREREQ_PM modules in Makefile.PL (rather than + setting them dynamically) so that automated tests would pass -# ----------------------------------------------------------- -# 0.04 2003-11-07 -# ----------------------------------------------------------- -* 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 +0.03 2003-11-06 -* Hard-coded all the PREREQ_PM modules in Makefile.PL (rather than - setting them dynamically) so that automated tests would pass + * Added parsers: XML::SQLFairy, Sybase, SQLite, DBI-MySQL, + DBI-PostgreSQL, DBI-SQLite, DBI-Sybase, Storable, YAML -# ----------------------------------------------------------- -# 0.03 2003-11-06 -# ----------------------------------------------------------- + * Added producers: XML::SQLFairy, TTSchema, Storable, YAML -* Added parsers: XML::SQLFairy, Sybase, SQLite, DBI-MySQL, - DBI-PostgreSQL, DBI-SQLite, DBI-Sybase, Storable, YAML + * HTML producer now uses stylesheets to allow easy customization of colors -* Added producers: XML::SQLFairy, TTSchema, Storable, YAML + * Many bug fixes to most every module -* HTML producer now uses stylesheets to allow easy customization of colors + * Added "sqlt-dumper" script to help create a script for dumping + a database a la "mysqldump" -* Many bug fixes to most every module + * Reversed the arrowheads on the graphical producers to show the + relationships in a more standard way -* Added "sqlt-dumper" script to help create a script for dumping - a database a la "mysqldump" + * Changes all included script names to start with "sqlt" -* Reversed the arrowheads on the graphical producers to show the - relationships in a more standard way + * Added capturing and printing most embedded table and field comments -* Changes all included script names to start with "sqlt" -* Added capturing and printing most embedded table and field comments +0.02 2003-06-17 -# ----------------------------------------------------------- -# 0.02 2003-06-17 -# ----------------------------------------------------------- + * Added parsers for Excel and Oracle -* Added parsers for Excel and Oracle + * Removed Sybase parser because it didn't actually work -* Removed Sybase parser because it didn't actually work + * Added ClassDBI, Diagram, GraphViz, HTML, POD, SQLite, Sybase producers -* Added ClassDBI, Diagram, GraphViz, HTML, POD, SQLite, Sybase producers + * Added Schema classes to represent schema as objects -* Added Schema classes to represent schema as objects + * Removed "Raw" producer in favor of the Schema classes -* Removed "Raw" producer in favor of the Schema classes + * Removed "Validator" class as the Schema classes validate themselves -* 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. -* 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 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 -* Added sql_translator.cgi as a web-form frontend to graphical producers + * Expanded test suite -* Expanded test suite -# ----------------------------------------------------------- -# 0.01 2003-02-27 -# ----------------------------------------------------------- +0.01 2003-02-27 -* Added parsers: XML::SQLFairy, Sybase, SQLite, DBI-MySQL, - DBI-PostgreSQL, DBI-SQLite, DBI-Sybase, Storable, YAML + * Added parsers: XML::SQLFairy, Sybase, SQLite, DBI-MySQL, + DBI-PostgreSQL, DBI-SQLite, DBI-Sybase, Storable, YAML -* Added producers: XML::SQLFairy, TTSchema, Storable, YAML + * Added producers: XML::SQLFairy, TTSchema, Storable, YAML -* HTML producer now uses stylesheets to allow easy customization of colors + * HTML producer now uses stylesheets to allow easy customization of colors -* Many bug fixes to most every module + * Many bug fixes to most every module -* Added "sqlt-dumper" script to help create a script for dumping - a database a la "mysqldump" + * 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 + * 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" + * Changes all included script names to start with "sqlt" -* Added capturing and printing most embedded table and field comments + * Added capturing and printing most embedded table and field comments