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 当年判定"不该保留"的形状同类(能在该模式下启动、且不兑现声明的能力)。

关联

未认领,仅作记录。

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions