Вы можете изменить уровень журнала в производстве, установив уровень журнала в config / environment / production.rb
config.log_level = :debug
Это будет регистрировать sql и все остальное, что вы привыкли видеть в dev - это немного замедлит работу приложения, и ваши журналы будут большими, поэтому используйте разумно.
Но что касается актуальной проблемы, стоящей за вопросом ...
Может ли это быть из-за нескольких подключений к mysql?
Если записи в твиттере еще не были зафиксированы, то запрос для них из другого соединения не вернет их, поэтому, если ваш запрос для них вызывается до фиксации, вы их не найдете и вместо этого вставите снова одни и те же записи. Это гораздо чаще случается в производственной среде со многими пользователями, чем при одном только тестировании на sqlite.
Поскольку вы используете mysql, вы можете использовать уникальный ключ в идентификаторе твиттера для предотвращения дублирования, а затем перехватить исключение ActiveRecord, если попытаетесь вставить дублирование. Но это означает обработку ошибки, которая не является хорошим способом ее обработки (хотя я рекомендую сделать это в качестве резервного средства предотвращения дублирования - mysql хорош для этого, используйте его).
Вы также должны предотвращать попытки вставки дуплейсов. Одним из способов является использование блокировки для общей записи, скажем, записи пользователя, с которой связаны все твиты, чтобы другой процесс не мог попытаться добавить твиты для пользователя, пока не получит эту блокировку (которую вы освободите только после транзакция завершена), и, таким образом, предотвращают одновременное принятие одной и той же информации.