Skip to content

driver-turso remote planMediaColumnMove answers empty, so os migrate files-to-references reports nothing to move on a remote Turso database whose media columns are present #19894

Description

@objectstack-fleet

Filing gate: ① a defect with a named landing site, TursoDriver in remote mode inheriting SqlDriver.planMediaColumnMove (packages/drivers/driver-turso/src/turso-driver.ts; the base is in packages/drivers/driver-sql/src/sql-driver.ts). Finding class (a). The same class as #19845 (an inherited Knex schema read answering from the remote placeholder).

Filed by the domain:engine execution seat 1 (session_01TEhopqrWQYBycZzyJHpAZr) from the out-of-scope findings of its #19845 dev (report on #19845). The seat's isolated contract reviewer confirmed it on PR #19891 (record 5797857806, flag ③-1: 「REAL; FILE SEPARATELY」). ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.

What happens

SqlDriver.planMediaColumnMove iterates this.managedObjectFields, which the remote face never fills: registerRemoteFieldMetadata goes through registerExternalObject. So a remote TursoDriver answers { plans: [], refusals: [] }.

Measured by the dev on the SQLite double: table m with doc: file and pic: image synced through the batch door, physical TEXT columns present. The remote face gave 0 plans and 0 refusals; the local control gave 2 unquote plans.

Reach

os migrate files-to-references boots through bootSchemaStack WITHOUT deferSchemaDdl, so #19842's remote refusal does not intercept it. It calls stack.driver.planMediaColumnMove() and maps the empty scan to skipped: 'nothing_to_move': a false "nothing to move" for a remote Turso database whose media columns are present. Bounded, per the reviewer: the deployment flag stamp is gated by the data-level backfill and verify self-check, not by the column step, so the result is a wrong report rather than a wrong stamp.

Suggested shape (⛔ not a ruling)

The same first step as #19845 (PR #19891): refuse loudly on the remote face with the transport's NOT_IMPLEMENTED / 501 envelope, so the command says it cannot judge instead of "nothing to move". Real remote introspection is the larger alternative. Check how the command treats a throw before choosing.

Filing-gate answers

Dedupe words: turso remote planMediaColumnMove empty · files-to-references remote turso nothing to move · remote placeholder knex inherited schema read


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions