Revision history for DBIO-SQLite

0.900001  2026-07-12
    * Fixes
        - Fix DROP INDEX / DROP TABLE collision in full-schema sync (karr
          #14). When diff reconciled a live schema containing a table absent
          from the target (removed from the app's DBIO classes, or an
          unmanaged leftover), it emitted both DROP TABLE <t> and a later
          standalone DROP INDEX for one of that table's indexes; since
          SQLite's DROP TABLE already removes the table's own indexes, the
          standalone DROP INDEX died with "no such index" and aborted
          apply()/upgrade(). DBIO::SQLite::Diff::Index now receives the tables
          sections (threaded in by DBIO::SQLite::Diff) and suppresses a
          standalone DROP INDEX for any index whose owning table is itself
          being dropped in the same pass. Indexes of surviving tables are
          still dropped as before; the two-argument diff() call stays
          backward compatible (absent table sections => nothing suppressed)
        - t/01-access-broker-api.t referenced the never-released
          DBIO::AccessBroker::Credentials, which broke the test suite on
          fresh installs (the module only existed as a local dev leftover);
          switched to the released DBIO::AccessBroker::Static
          (Codeberg #1, reported by eserte)
        - t/populate_more.t: updated the load_components path after core
          renamed DBIO::Schema::PopulateMore to DBIO::PopulateMore
        - Removed the now-stale TODO markers from the two order_by
          hashref-condition cases in the SQLMaker suite: core's
          parameterization fix (bdd38a2ce) already made them pass,
          they were just surfacing as "TODO passed" noise

    * Dependencies
        - Requires core DBIO >= 0.900001 (family-wide version alignment)

    * Project
        - Added SECURITY.md (CPAN Security Group guidelines v1.5.0)

0.900000  2026-06-23
    First release. SQLite driver for DBIO with native deploy, introspect,
    diff and DDL generation -- no SQL::Translator.

    * Storage
        - DBIO::SQLite::Storage, autodetected for dbi:SQLite: DSNs via the
          driver registry; force-on multicolumn IN where supported
        - Savepoints, deferred foreign-key checks, and the
          foreign_keys PRAGMA via connect_call_use_foreign_keys
        - Native database backup; DateTime::Format::SQLite for inflation
        - DBIO::SQLite::SQLMaker (no SELECT ... FOR UPDATE on SQLite)
    * Deploy / DDL / Introspect / Diff
        - DBIO::SQLite::Deploy: install/diff/apply/upgrade via
          test-deploy-and-compare against an in-memory :memory: target
        - DBIO::SQLite::DDL: generate DDL from Result classes, with
          INTEGER PRIMARY KEY AUTOINCREMENT inline and CREATE VIEW output
        - DBIO::SQLite::Introspect: read schema via sqlite_master and
          PRAGMA (tables, columns, indexes, foreign keys)
        - DBIO::SQLite::Diff: table/column/index diffing with columns
          inlined on CREATE TABLE and drop-then-create on index changes
    * Result / shortcuts
        - DBIO::SQLite::Result component with sqlite_index declaration
        - use DBIO Schema => -sqlite shortcut to pin the SQLite storage
    * Misc
        - AccessBroker support for SQLite connections
        - Requires Perl 5.36+ and DBD::SQLite
