自己给 Prisma 写 SQL 驱动适配器,难点不只是把查询跑通。prisma-driver-adapter-implementation 这个 Skill 会把连接、事务、结果映射、错误处理和资源释放这些边界一起摆出来,避免“类型对得上,行为却悄悄出问题”。
最先要守住的是事务连接:一次事务要绑定一条专用连接,不能让并行操作互相串线。`commit()` 和 `rollback()` 负责收尾和释放资源,不应该又偷偷发一遍 SQL;嵌套事务的 savepoint 也要挂在 Transaction 上,不能把深度记在共享 adapter 里。
查询结果不能只返回一堆值。列名、列类型和行数据要保持同样的顺序;大整数、Decimal、二进制、日期、JSON 和空值都要单独测。参数映射也要同时看值和 `ArgType`,否则有些类型可能在驱动边界被悄悄转换错。
数据库报错时,不要把原始错误码和信息丢掉。已知错误可以映射成 Prisma 能理解的类型,未知错误仍要保留原始细节,之后排查 `P2039` 才有线索。最后还要测连接池所有权、shadow database 和迁移脚本;只跑适配器单测,不足以证明 Prisma Client 真的能正常工作。