mam wysiane wiersz danych do mojego stolika edytując db/seed.rb
plik i wykonując polecenia rake db:seed
. Nieświadomie wprowadziłem błędne informacje do tego wiersza. Dlatego chcę usunąć wcześniej dodany wiersz danych. Czy jest jakieś polecenie rake dla tego samego, jak rake db:rollback
dla rake db:migrate
.Cofnij wcześniej rozstawiony danych w Rails
Odpowiedz
Istnieje kilka aspektów do tego:
1: Chcesz zmienić dane nasion, gdy nie ma innych danych jest obecna w bazie:
Należy po prostu przerobić rake db:seed
po aktualizacji ziarno plik .rb. Przed próbą dodania czegokolwiek do tego modelu upewnij się, że masz MyModel.delete_all
.
2: Chcesz zmienić dane nasion, ale są też inne dane dodane do bazy
Jest to nieco trudniejsze. Często najprostszą rzeczą do zrobienia jest, aby ręcznie zmienić dane w postaci surowej SQL sprawozdania lub z wykorzystaniem narzędzi takich jak PhpPpAdmin, PhpMyAdmin itp
Teraz jest possiby jeden sposób hack to razem , a to byłoby zrobić trochę voodoo w pliku seed.rb. Więc można uruchomić rake db:seed deseed=true
, następnie w seed.rb:
if ENV['deseed']
#Do your deseeding action here
else
#Do your seeding here.
end
Można nawet dostać prawdziwe szaleństwo i zrobić coś takiego:
deseed = ENV['desee']
#DANGER: Dirty hacks upcoming:
deseed? myModelCall = MyModel.method(:destroy_all): myModelCall = MyModel.method(:create)
myModelCall.call :user_id_or_whatevs => 23 #this creates or deletes a MyModel entity with the given parameters
#NOTE this might not work in all cases and I would not necessarily recommend doing this.
#<3uby
- 1. Cofnij
- 2. Cofnij "cofnij do tego zatwierdzenia"
- 3. Cofnij w C#
- 4. Cofnij zarządzanie za pomocą danych podstawowych
- 5. Polecenie Cofnij w R
- 6. Cofnij usunięcie w GIT
- 7. Wykreślanie histogramu z wcześniej zliczonych danych w Matplotlib
- 8. Cofnij zamknięcie Tab w Vim
- 9. Jak cofnąć Cofnij w mercurial
- 10. Cofnij wycofanie savepoint w mysql
- 11. Gdzie jest funkcja [Cofnij] w Nunit?
- 12. Cofnij zatwierdzenie git
- 13. Cofnij naciśnięcie hg (wycofanie?)
- 14. Git cofnij ostatnie zatwierdzenie
- 15. Cofnij Intellij Smart Checkout
- 16. Cofnij git dodaj --all
- 17. Cofnij [UIGestureRecognizer * requireGestureRecognizerToFail]
- 18. cofnij bzr przywróć
- 19. Cofnij schowek na git
- 20. Cofnij implementację - DOM manipulacje
- 21. Cofnij zapytanie neo4j wolne
- 22. Cofnij git pull --rebase?
- 23. Cofnij polecenie mysql UPDATE
- 24. Cofnij git przodu scalić
- 25. Model polimorficzny typu rails w danych ember
- 26. Rails baz danych wartości logiczne
- 27. Cofnij wymeldować z podfolderu w TortoiseSVN
- 28. "Desortuj" matrycę. Cofnij sortowanie w Matlab
- 29. wzorzec implementacji cofnij/ponów w clojure
- 30. Implementacja Cofnij - Ponów funkcjonalność w Qt?
usunąć bazę danych, odtworzenie i nasion ponownie. :) –
@Sergio Tulentsev: Zgadzam się. Ale muszę przechowywać dane, które już tam były, zanim zrobiłem ostatnie ziarno. Chcę tylko usunąć ostatnie zaimportowane dane. Czy możesz mi pomóc to zrobić. –
Nie ma dla tego zadania rake. Znajdź i usuń dane ręcznie. Jeśli spodziewasz się, że to się powtórzy, napisz skrypt. –