Я нахожусь в ситуации, когда я использую sqlite с ActiveRecord и Rails (также это JRuby, и поэтому на самом деле я использую адаптер jdbcsqlite, в случае, если это важно). Сейчас я пытаюсь вставить строку в таблицу Внимание_Секеры, но только если другой существующей аналогичной строки не существует. Соответственно,
unless AttentionSeeker.find(:first, :conditions => {:key_id => key.id, :locale_id => l.id})
item = AttentionSeeker.new(:key_id => key.id, :locale_id => l.id)
item.save
end
Это сгенерированный вывод в журнале:
CACHE (0.0ms) SELECT * FROM attention_seekers WHERE (attention_seekers.key_id = 318 AND attention_seekers.locale_id = 20)
AttentionSeeker Create (1.0ms) INSERT INTO attention_seekers (key_id, locale_id) VALUES(318, 20)
CACHE (0.0ms) SELECT * FROM attention_seekers WHERE (attention_seekers.key_id = 318 AND attention_seekers.locale_id = 20)
AttentionSeeker Create (2.0ms) INSERT INTO attention_seekers (key_id, locale_id) VALUES(318, 20)
Как видите, по какой-то причине находка кэшируется, хотя я вставляю элементы, которые на нее влияют. Что я делаю не так / как я могу остановить это поведение?