idxfence cross-references every `validates :column, uniqueness: true` / `uniqueness: { scope: ... }` / `validates_uniqueness_of` declaration in app/models/*.rb against db/schema.rb's create_table blocks, and flags any whose column set (including scope columns) has no matching `t.index [...], unique: true`. An ActiveRecord uniqueness validation only performs a SELECT ... WHERE check at the application layer before an INSERT -- under real concurrency, two requests can both pass that check before either commits, landing a genuine duplicate row despite the validation "working." Rails Guides themselves document this exact race and recommend a matching DB-level unique index as the only real fix; plenty of real apps ship with only the AR-level check.
Required Ruby Version
>= 3.0.0
Authors
Jay
Versions
- 0.1.0 September 24, 2026 (21.5 KB)