A mere addforeignkey can wipe out your whole Rails+SQLite production table. That blunt warning is the centerpiece of a fast-moving thread about database safety in small-stack apps [1].
What the warning actually means The post points out that a routine migration—adding a foreign key in a Rails app using SQLite—can trigger a total wipe in production. This isn’t a crash or rollback drama; it’s a data-loss risk tied to a single constraint change in SQLite-backed tables [1].
SQLite vs Rails migration quirks The discussion highlights pitfalls that can pop up when migrations touch foreign keys in this stack. In short, what seems like a simple schema tweak can have outsized, destructive effects in production under SQLite round-trips and Rails’ migration semantics [1].
What this means for production planning If you’re running Rails with SQLite in prod, this warning isn’t theoretical. The exact scenario described centers on how a tiny foreign-key tweak can wipe an entire table, underscoring the need to treat such migrations with extra caution in this stack [1].
Closing thought: when your production database is SQLite, a seemingly harmless constraint change can become a costly mistake—so tread carefully before adding foreign keys in Rails migrations [1].
References
A mere add_foreign_key can wipe out your whole Rails+SQLite production table
Post warns that adding a foreign key in Rails with SQLite can wipe production data and highlights DB behavior caveats.
View source