Rails wraps every write in a transaction and uses a connection pool of five by default, so SQLite's deferred-mode transactions constantly throw BusyException on concurrent writes. Setting `default_transaction_mode: immediate` in database.yml (sqlite3-ruby ≥ 1.6.9) lets SQLite's retry mechanism queue the BEGIN itself and eliminates the 500s.