Changes for version 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)

Documentation

Modules

SQLite-specific schema management for DBIO
SQLite base->native type resolver
Generate SQLite DDL from DBIO Result classes
Deploy and upgrade SQLite schemas via test-deploy-and-compare
Compare two introspected SQLite models
Diff operations for SQLite columns
Diff operations for SQLite indexes
Diff operation that rebuilds a SQLite table
Diff operations for SQLite tables
Introspect a SQLite database via sqlite_master and PRAGMAs
Introspect SQLite columns
Introspect SQLite foreign keys
Introspect SQLite indexes
Introspect SQLite tables and views
SQLite-specific Result component for DBIO
SQLite-specific SQL generation for DBIO
SQLite storage driver for DBIO
SQLite-specific test utilities for DBIO
Shared SQLite-specific helper functions for DBIO
`use DBIO -sqlite` shortcut for the SQLite driver