drizzle-orm 0.45でmysql2のQueryErrorはDrizzleQueryError.causeにラップされる
Drizzle
ORM
データベース
drizzle-orm 0.45以降、mysql2のQueryErrorはそのまま投げられず DrizzleQueryError でラップされ、元のエラーは error.cause に入る。そのため err.code/err.errno/err.sqlState をerr直下で検査する型ガードはラップ後に常にfalseになり、FK制約違反(ER_ROW_IS_REFERENCED_2)の検出が動かなくなる。cause を再帰的に辿る unwrap helper を作り、全call siteを置換することで対応する。