Revision history for CXC-DB-DDL

0.21      2025-08-05 11:54:55-04:00 America/New_York

  [ENHANCEMENT]

   * creating tables with CREATE_ALWAYS won't try and drop the tables
     if none exist.

0.20      2025-07-17 13:23:46-04:00 America/New_York

  [ENHANCEMENT]

   * The classes used to create tables and fields when passing plain
     structures to the CXC::DB::DDL and CXC::DB::DDL::Table constructors
     can now be specified.

   * More Documentation

0.19      2025-03-19 18:48:51-04:00 America/New_York

  [API CHANGE]

   * CXC::DB::DDL::Util: sqlt_producer_map has been replaced with sqlt_entities_map.

  [BUG FIX]

   * The SQLT PostgreSQL producer wasn't properly fed the version of PostgreSQL.

   * options passed to the CXC::DB::DDL create method were ignored.

   * the CXC::DB::DDL::Table constructor didn't validate its input properly, so
     could be passed extra arguments.

0.18      2024-10-27 15:02:46-04:00 America/New_York

  [BUG FIX]

   * resolve a constraint's field names when a CXC::DB::DDL::Table is
     created so that

       * '-all' is properly converted into the list of the table's fields, and
       * the field names are always stored as an array

     TODO: make constraints proper objects.


0.17      2024-10-01 13:59:14-04:00 America/New_York

  [BUG FIX]

   * V0.14 broke using a table constraint field value of '-all' to
     apply to all fields.

0.16      2024-07-01 16:42:32-04:00 America/New_York


  [ENHANCEMENT]

   * temporary tables are supported under SQLite & PostgreSQL

  [TESTS]

   * testing under PostgreSQL is now possible by setting
     $ENV{CXC_DB_DDL_TEST_DBD} = 'Pg';

0.15      2024-06-26 12:57:01-04:00 America/New_York

  [BUG FIX]

   * DBD types may share the same integer value as a standard SQL type;

  [ENHANCEMENTS]

   * more DBD type exports

  [MISC]

   * CXC::DB::DDL::Field::Pg has been moved to its own distribution to
     keep this distribution DBD agnostic.

0.14      2024-06-23 13:25:54-04:00 America/New_York

  [DEPRECATION]

    * field constraints are treated by SQLT as table constraints, and
      CDD's attempt to mask that was too primitive to accomodate real
      world applications, so they are now deprecated in favor of table
      constraints.

  [BUG FIX]

    * constraints must include a type attribute; this was not enforced.

    * Constraint attributes 'fields', and 'referenced_fields' did not
      coerce from a string to an arrayref.

    * automatic names for table constraints tried to use attributes
      which may not be present.

  [ENHANCEMENT]

    * CHECK_C constraint expressions may now be provided via a coderef

    * the DSL (CXC::DB:DDL::Util) now supports DBD specific types.
      The interface it is still evolving and the documentation
      lacking.  See CXC::DB::DDL::Field::Pg and t/DDL/Field/Pg.t.


0.13 2024-04-04 12:23:58-04:00 America/New_York

  [API BREAKAGE]

    * signature for CXC::DB::DDL::table->add_to_schema has changed

  [ENHANCEMENT]

    * CREATE_IF_NOT_EXISTS now creates only the tables which are missing,
      rather than dropping everything.

  [MISC]

    * CPAN release


0.12      2023-11-22 22:22:14-05:00 America/New_York

  [ENHANCEMENT]

    * foreign key on_delete and on_update attributes are now supported

0.11      2023-09-17 17:41:02-04:00 America/New_York

  [BUG FIX]

    * properly catch and report db errors and the sql statement which
      generated them.

    * don't run empty sql (with just comments)

0.10      2023-08-06 23:30:28-04:00 America/New_York


  [ENHANCEMENT]

    * CXC::DB::DDL::sql now sports new options to pass on to the
      SQL::Translator constructor, such as to turn on debug, trace, or
      quote identifiers

0.09      2023-07-25 13:51:20-04:00 America/New_York

  [BUG FIX]

    * really fix the bug that 0.08 tried to fix.

0.08      2023-07-25 13:26:41-04:00 America/New_York

  [BUG FIX]

    * table names are used to generate constraint/index/check names, but must not
      include a schema (which results in an unacceptable name in PostgreSQL)

0.07      2023-07-21 17:22:00-04:00 America/New_York


  [BUG FIX]

    * fix typo in subroutine name

0.06      2023-07-21 16:26:50-04:00 America/New_York

  [ENHANCEMENT]

    * ::Table now knows a little bit about database schema

    * Field data_type is now an array to be able to match against multiple
      sql types to be more database agnostic

    * DDL->drop drops tables in reverse order of addition to try and avoid
      the need for a DROP CASCADE.

  [BUG FIXES]

    * SQLT's producer may not have the same name as the DBD module (e.g. Pg vs PostgreSQL

0.05      2023-07-20 23:36:47-04:00 America/New_York

  [ENHANCEMENT]

    * CXC::DB::DDL::Util: All of the SQL types recognized by DBI are
      now available as CXC::DB::DDL::Field generators.

0.04      2023-01-10 17:52:31-05:00 America/New_York

  [BUILD]

    * require at least SQL::Translator 1.61 to fix issue with Sybase Producer


0.03      2022-12-22 22:42:06-05:00 America/New_York

  [BUG FIX]

    * add table schema to top-level schema before adding fields so
      that field schema which require the table schema can find it.

0.02      2022-11-04 19:22:41-04:00 America/New_York

  [BUG FIX]

    * add fields to table before adding constraints/indices.

0.01      2022-10-24 23:53:24-04:00 America/New_York

* First release upon an unsuspecting world.
