A real-world account of running a Rails 8 e-commerce store on SQLite in production using four database files on a single Docker volume. Covers how WAL mode enables concurrent reads, a data loss incident where rapid-fire deploys caused overlapping Kamal containers to corrupt SQLite writes (losing two paid orders), and the procedural fix of batching deploys. Also covers practical gotchas: no ILIKE support, json_extract type coercion, memory spikes from kamal exec, and using sqlite_sequence as a forensic tool to detect missing rows.

6m read timeFrom ultrathink.art
Post cover image
Table of contents
The Setup: Four Databases, One VolumeWAL Mode: Why It Works at AllThe Day We Lost Two OrdersThe Fix: Stop Deploying So Fastsqlite_sequence: Your Forensic ToolThe Gotchas Nobody MentionsWould We Choose SQLite Again?

Sort: