Zresetuj bazę danych (wyczyść wszystko), a następnie wypełnij bazę danych


159

Czy istnieje polecenie rake, aby usunąć dane z tabel bazy danych?

Jak utworzyć skrypt db: seed, aby wstępnie wypełnić dane w moich tabelach?

Odpowiedzi:



160

Możesz usunąć wszystko i odtworzyć bazę danych + nasiona za pomocą obu:

  1. rake db:reset: ładuje z schema.rb
  2. rake db:drop db:create db:migrate db:seed: obciążenia z migracji

Upewnij się, że nie masz żadnych połączeń z db (serwer rails, klient sql ...), w przeciwnym razie baza danych nie spadnie.

schema.rb to migawka bieżącego stanu Twojej bazy danych wygenerowana przez:

rake db:schema:dump

Dziękuję za przypomnienie ludziom o wyłączeniu jakichkolwiek serwerów, aby upewnić się, że DB zostanie poprawnie usunięty.
aardvarkk

6

Jeśli nie masz ochoty porzucić i odtworzyć całego shebang tylko po to, aby ponownie załadować dane, możesz użyć MyModel.destroy_all(lub delete_all) w pliku seed.db, aby wyczyścić tabelę przed MyModel.create!(...)załadowaniem danych przez instrukcje. Następnie możesz powtarzać db:seedoperację w kółko. (Oczywiście dotyczy to tylko tabel, do których załadowano dane, a nie pozostałych).

Na https://stackoverflow.com/a/14957893/4553442 jest „brudny hack”, który polega na dodaniu operacji „de-seeding” podobnej do migracji w górę iw dół ...


sprytne, odtworzenie wszystkiego od zera za każdym razem zajęło mi
dużo czasu

5

Jak Rails 5 The rakenarzędzie poleceń został alias jak railstak teraz

rails db:reset zamiast rake db:reset

będzie działać równie dobrze


0

Możesz użyć, rake db:resetgdy chcesz usunąć lokalną bazę danych i zacząć od nowa z danymi załadowanymi z db/seeds.rb. Jest to przydatne polecenie, gdy wciąż zastanawiasz się nad schematem i często musisz dodać pola do istniejących modeli.

Po użyciu polecenia resetowania wykona ono następujące czynności: Upuść bazę danych: rake db:drop Załaduj schemat: rake db:schema:load Wypełnij dane:rake db:seed

Ale jeśli chcesz całkowicie porzucić swoją bazę danych, możesz użyć rake db:drop. Usunięcie bazy danych spowoduje również usunięcie wszelkich konfliktów schematów lub złych danych. Jeśli chcesz zachować posiadane dane, wykonaj ich kopię zapasową przed uruchomieniem tego polecenia.

To jest szczegółowy artykuł o najważniejszych poleceniach bazy danych rake .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.