Skip to content

TursoDriver remote 面根本不生成自增号:RemoteTransport.create 自建 INSERT,auto_number 只是个 TEXT 列 #6944

Description

@os-zhuang

一句话说明

TursoDrivertransportMode === 'remote' 下把 create 覆写为 RemoteTransport.create,该实现自建 INSERT 语句,根本不进 fillAutoNumberFields。因此 remote 面上 auto_number 字段从不被生成 —— 它在那边只是一个映射到 TEXT 的列类型。

#5495(PR #6932)的两张脸申报中测得。这是一个先在的功能缺口,与该单要修的"序列陈旧"无关,故未随车。

为什么单独开

#5495 修的是"计数器落后于数据表 → 撞号风暴"。remote 面没有这个缺陷,也不接受这个修复 —— 因为它压根不走发号路径。两者是不同的事:一个是号发错了,一个是号没发。

#6932 已经把这个缺席写成断言(探测 RemoteTransport 原型上不存在任何 autonumber / sequence 方法),这样将来把 autonumber 接进 remote 传输时,不会静默继承 turso-autonumber-resync.test.ts 的绿。所以本卡即便不立即动,也已经有一道防止"悄悄变成半实现"的护栏。

待定夺

#3724 当年的二选一形态,请分诊/维护者定级:

  • A. 在 remote 传输上实现自增号 —— 与 local/replica 面对齐。
  • B. 显式声明该面不支持 —— 例如 remote 模式下遇到带 auto_number 字段的对象时明确失败,而不是静默写入空值/NULL。

⚠️ 现状是静默不生成,与 #3724 当年判定"不该保留"的形状同类(能在该模式下启动、且不兑现声明的能力)。

关联

未认领,仅作记录。

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