Skip to content

Studio SQLite rc.6 bootstrap fatals after canonical driver migration #156

Closed

Description

@chubes4

Problem

Markdown Database Integration 0.8.5+ extends the canonical WP_MySQL_On_SQLite PDO driver introduced on SQLite Integration trunk. WordPress Studio currently ships SQLite Database Integration 3.0.0-rc.6, where the same PDO implementation is named WP_PDO_MySQL_On_SQLite.

After deploying MDI v0.8.6, every WordPress and WP-CLI bootstrap fails before command dispatch:

Fatal error: Class "WP_MySQL_On_SQLite" not found
.../markdown-database-integration/inc/class-wp-markdown-driver.php:25

Impact

  • WordPress cannot boot on the affected Studio site.
  • DMC, Homeboy, OAuth, and all studio wp commands are unavailable.
  • The v0.8.6 SQL-mode repair cannot restore the site because class loading fails first.

Expected

MDI should use the canonical PDO statement API on both the currently deployed Studio rc.6 class name and the renamed SQLite Integration trunk class name. Compatibility belongs at the class-loading boundary and needs executable coverage for the rc.6 return/class shape.

Evidence

Activity

  1. chubes4 commented on Jul 29, 2026

    @chubes4
    CollaboratorAuthor

    v0.8.7 runtime verification reproduces this after successful Homeboy deployment. The release artifact updated wp-content/plugins/markdown-database-integration, but the active persisted wp-content/db.php remained from v0.8.6. That stale drop-in loads the v0.8.7 class-wp-markdown-driver.php directly, so the drop-in-only alias from #154/#155 never executes and bootstrap still fatals at line 25.

    This is a mixed-version deployment contract, not a failed artifact deployment:

    • deployed plugin reports 0.8.7;
    • active wp-content/db.php lacks the alias;
    • Studio rc.6 exposes only WP_PDO_MySQL_On_SQLite;
    • studio start and studio wp core is-installed both fail with Class "WP_MySQL_On_SQLite" not found.

    Required repair: retain the alias at the directly loaded driver boundary as well as in new drop-in installations, and cover the stale-drop-in/new-plugin upgrade path explicitly.

  2. chubes4 commented on Aug 14, 2026

    @chubes4
    CollaboratorAuthor

    Resolved by PRs #157 and #164. The compatibility alias now exists at the directly loaded drop-in boundary, including stale-drop-in/new-plugin coverage, and capability-based result API detection covers released rc.6 plus the canonical prerelease/renamed surfaces. Current tests/smoke-driver-class-compatibility.php and tests/smoke-health.php both pass.

    AI assistance: OpenAI GPT-5.6 Sol via OpenCode verified the merged source, PR history, and executable compatibility tests before closure. Chris Huber directed the audit and remains responsible for the decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions