我正在使用Rails。 4.0.5,Postgres 9.3和Ruby 2.1.2。我在resque任務,並針對同一數據庫控制檯運行的一些代碼(我雙重檢查數據庫和連接設置)rails find_or_create_by找不到存在的記錄
在循環中我基本上執行以下命令:
item = ContentItem.create_with(item_params).find_or_create_by(digest: entry.digest)
爲19個項目,它工作正常,如果我重新運行代碼,並執行查找或創建所需..但他們中的一個不工作。它沒有找到它,並創建因爲我的項目
@messages={:digest=>["has already been taken"]}
做好對有關項目的下列得到一個錯誤,並細返回實際項目的每一個呼叫失敗...
ContentItem.find_by_digest('e9e61c790f0fd63d367f6b2c210cb5d1ed00aefd')
我不知道什麼可能導致行爲。
字段是一個40個字符的字符串,並用作摘要。我錯過了什麼?它也有一個獨特的索引設置。
讓我試試。我想知道如果這是因爲我有太多插入一次 – user3622093