2011-08-15 20 views
13

Chcę usunąć rekord z konsoli.Usuwanie rekordu z konsoli - Ruby on Rails

Zalogowałem przez skrypt/konsoli i

User.find(1).delete 
$<User id: 1, ..............> 
User.find(1) 
ActiveRecord::RecordNotFound: Couldn't find User with ID=1 
........ 
........ 
........ 

Wszystko wygląda w porządku aż tutaj.

Ale kiedy wyjść z konsoli i powrócić do konsoli za pomocą polecenia skrypt/konsoli, jestem w stanie ponownie, aby zobaczyć zapis z id = 1.

Baza danych nie jest lokalny i łączę poprzez bazy .yml przez podanie adresu IP.

kiedy próbuję zrobić to samo w lokalnej bazie danych, wszystko jest w porządku.

Czy ktoś może wyjaśnić, co się dzieje i gdzie mnie brakuje!

Dzięki

+2

czy masz pozwolenie na pisanie do zdalnej bazy danych za pomocą loginu/hasła? – Anatoly

+0

Nie rozumiem, który login/hasło, nie mogę ssh do zdalnego DB. Jestem zupełnie nowy na tego typu rzeczy. Jestem w stanie zrobić wszystko i myślę, że moja nazwa użytkownika ma wszystkie uprawnienia, takie jak pisanie, czytanie, tworzenie. Ale nie jestem pewien! – kill007

+0

Czy można wkleić rzeczywistą sesję konsoli? Czy na pewno łączysz się z produkcyjną bazą danych? –

Odpowiedz

29

Spróbuj

User.find(1).destroy 

To powinno działać w konsoli lub w inny sposób.

+0

Model użytkownika ma kilka wywołań zwrotnych i nie chcę ich dotykać. To jest powód, dla którego poszedłem z usuwaniem. – kill007

+0

po wywołaniu konsoli, wywoływam w trybie piaskownicy. (script/console -s development), którego nie powinienem robić. Dziękuję za pomoc dla facetów. – kill007

+0

To jest moje złe ... Wzywam konsolę w trybie Sandbox, a teraz ją wyłączyłem i działa dobrze ... oczywiście przepraszam za późne rozwiązanie .... – kill007

2

W podobnym tonie można usunąć wszystkie krotki dla danego obiektu z konsoli szyn następująco:

@object = Object.all 

@object.each do |o| 
    o.delete 
end 
0

Spróbuj User.count lub y User.count

User.first gdzie pierwszy jest to numer, który chcesz usunąć

User.first.destroy

1

Łatwy sposób, aby usunąć dane z konsoli modelek

użytkownik modelu
rails console 

Store do instancji zmiennej

user = User.find(1) 

usunąć lub zniszczyć relacje o następujących poleceń

user.delete 

lub

user.destroy 
0

Upewnij się, że nie są powołując konsola w trybie piaskownicy, która uniemożliwi operację usuwania.