削除したはずの1世代古いデータが取得される原因は?

環境

Rails5.2
PostgreSQL

実現したいこと

テーブルを全件トランケートした後、データをInsertしました。
このとき、idは1から振り直しています。

その後、テーブルを再度、全件トランケートして、前回と異なるデータをInsertしました。このときも、idは1から振り直しています。

そして、テーブルを参照すると、現在、テーブルに更新されているデータではなく、トランケートする前に更新されていた1世代前のデータが参照されるといった、不思議な現象が発生しています。

pgAdminを使って、データベースを直接参照すると、確かに、直近に更新したデータが(物理的に)参照されています。にも拘わらず、RailsからActiveRecordで参照すると、なぜか、トランケートする前に更新されていたデータが取得されるのです。

恐らく、キャッシュに残っているデータを取得してきているのではと疑っているのですが、この事象を回避する方法について教えていただけませんでしょうか。

コメントを投稿

0 コメント