2014-02-18 2 views
1

У нас есть некоторые тестовые данные внутри нашей производственной базы данных, и я пытаюсь их очистить.Удаление записи пользователя из консоли rails

Я удалял несколько тестовых адресов электронной почты с консоли.

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

Это удалило эту запись.

Теперь, когда я пытаюсь создать другую учетную запись с этим же адресом электронной почты, он говорит, что письмо уже принято.

Я делал это несколько раз в своей среде dev, и он работал как шарм.

Я знаю, что я никогда не должен напрямую удалять запись в prod с консоли, но это одноразовый сценарий, и мне просто интересно, почему он не работает.

Пожалуйста, помогите мне с этим.

+1

DUP запись? или попробуйте «перезагрузить!» консоль – Nithin

+0

Эй, Нитин. Спасибо за ответ. Нет дубликатов записей. Я несколько раз пытался перезагрузить консоль. Это не сработало. Он имеет какое-то отношение к тому, как устройство создает пользовательские записи, которых я явно не вижу. – 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

Смежные вопросы