Zresetuj bazę danych (Wyczyść wszystko), a następnie zalej bazę danych
Czy istnieje polecenie rake, które usuwa dane z tabel bazy danych?
Jak utworzyć skrypt db: seed, aby wstępnie wypełnić dane do moich tabel?
5 answers
Używam rake db:reset
, który upuszcza, a następnie odtwarza bazę danych i zawiera twoje nasiona.plik rb.
http://guides.rubyonrails.org/migrations.html#resetting-the-database
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-26 05:41:43
Możesz usunąć wszystko i odtworzyć bazę danych + nasiona za pomocą obu:
-
rake db:reset
: ładuje ze schematu.rb -
rake db:drop db:create db:migrate db:seed
: ładunki z migracji
Upewnij się, że nie masz żadnych połączeń z db (rails server, SQL client..) lub db nie spadnie.
Schemat.rb jest migawką aktualnego stanu bazy danych wygenerowaną przez:
rake db:schema:dump
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-14 13:48:39
Jeśli nie masz ochoty na upuszczenie i odtworzenie całego shebanga tylko po to, aby przeładować dane, możesz użyć MyModel.destroy_all
(LUB delete_all
) w nasionie.plik db, aby wyczyścić tabelę, zanim twoje polecenia MyModel.create!(...)
załadują dane. Następnie możesz ponowić operację db:seed
w kółko. (Oczywiście dotyczy to tylko tabel, do których załadowałeś dane, a nie reszty z nich.)
Jest "brudny hack" na https://stackoverflow.com/a/14957893/4553442 aby dodać operację "odsiewania" podobną do migruję w górę i w dół...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:23
Od Rails 5, narzędzie linii poleceń rake
zostało aliasowane jako rails
więc teraz
rails db:reset
zamiast rake db:reset
Będzie działać równie dobrze
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-15 07:44:58
Możesz użyć rake db:reset
, gdy chcesz upuścić 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 reset wykonamy następujące czynności:
Drop the database: rake db:drop
Załaduj schemat: rake db:schema:load
Seed danych: rake db:seed
Ale jeśli chcesz całkowicie porzucić swoją bazę danych, możesz użyć rake db:drop
. Opuszczenie bazy danych spowoduje również usunięcie dowolnego schematu konflikty lub złe dane. Jeśli chcesz zachować posiadane dane, pamiętaj, aby wykonać ich kopię zapasową przed uruchomieniem tego polecenia.
Jest to szczegółowy artykuł o najważniejszych poleceniach bazy danych rake .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-29 14:13:50