SQLite 默认设置为何如此糟糕?
SQLite should have (Rust-style) editions
SQLite 是嵌入式项目和本地数据存储的行业标准,甚至像 lobste.rs 这样的服务器软件也在用它。但作者指出,SQLite 的默认设置存在严重问题:外键约束默认关闭,导致数据一致性无法保证;类型系统过于宽松,允许在 INTEGER 列中存储文本。虽然可以通过 PRAGMA 或 strict 表来修复,但这需要开发者手动干预。作者呼吁 SQLite 应像 Rust 一样引入版本(editions)机制,让新代码默认采用更安全的严格模式,同时保留旧代码的灵活性,从而在保持 SQLite 灵活性的同时避免常见陷阱。
"SQLite 的默认设置全错了。"