2014-02-18 59 views
1

我們在生產數據庫中有一些測試數據,我試圖清理它。從導軌控制檯刪除用戶記錄

我正在直接從控制檯中刪除一些測試電子郵件地址。

User.where(:email=>"[email protected]").first.delete 

這刪除了該記錄。

現在,當我嘗試使用這個相同的電子郵件地址創建另一個帳戶時,它說電子郵件已被佔用。

我已經在我的開發環境中做了好幾次,它的功能就像一個魅力。

我知道我不應該直接從控制檯刪除prod中的記錄,但這是一次性場景,我只是好奇它爲什麼不起作用。

請幫我這個。

+1

DUP記錄?或嘗試'重新加載!'控制檯 – Nithin

+0

嘿Nithin。感謝您的迴應。沒有重複記錄。我試過幾次重新加載控制檯。這沒有用。它與設備創建用戶記錄的方式有關,我明顯缺少。 – skmvasu

回答

2

你使用類似的Paranoia寶石生產軟刪除用戶記錄?如果是這樣,請嘗試User.with_deleted.where(:email=>"[email protected]"),如果返回結果,則將用戶的電子郵件地址更改爲不存在的地址。

0

每次用控制檯進行操作時,必須重新加載控制檯並插入記錄新的控制檯。

還有一件事,你使用第一個用戶的電子郵件,所以在你的用戶模型應該有一些與uniq電子郵件驗證。

+0

我已經嘗試重新加載控制檯。但那並不奏效。 – skmvasu

0

只刪除您的用戶表中的第一條記錄,按您的命令:

User.where(:email=>"[email protected]").first.delete 

我認爲,有多個項目在那裏!

你應該與用戶對象使用DELETE_ALL象下面這樣:

User.where(:email=>"[email protected]").delete_all 
+0

沒有不行。沒有重複記錄。 – skmvasu

+0

你可以嘗試使用像User.select(:name =>'pravin'),delete_all? –

+0

記錄已從數據庫中刪除。 User.selec不會返回任何值。 – skmvasu