Сбросить базу данных (очистить все), затем семя базы данных

StackOverflow https://stackoverflow.com/questions/4003978

  •  25-09-2019
  •  | 
  •  

Вопрос

Есть ли команда Rake для уничтожения данных в таблицах баз данных?

Как создать БД: Сценарий семян для предварительной заправки данных на мои таблицы?

Это было полезно?

Решение

я использую rake db:reset который падает, а затем воссоздает базу данных и включает в себя ваш файл SEEDS.RB.http://guides.rubyonrails.org/migrations.html#Resetting-the-database

Другие советы

Вы можете удалить все и воссоздать базу данных + семена с обоими:

  1. rake db:reset: грузы из Schema.rb
  2. rake db:drop db:create db:migrate db:seed: грузы из миграций

Убедитесь, что у вас нет подключений к БД (Rails Server, SQL Client.) Или DB не упадет.

Schema.rb - это снимок текущего состояния вашей базы данных, создаваемых:

rake db:schema:dump

Если вы не хотите бросить и воссоздать весь шебанг, просто чтобы перезагрузить данные, вы можете использовать MyModel.destroy_all (или delete_all) в файле SEED.DB, чтобы очистить таблицу до вашего MyModel.create!(...) Заявления загружают данные. Тогда вы можете повторить db:seed операция снова и снова. (Очевидно, это только влияет на таблицы, которые вы загрузили данные, а не остальные из них.)

Есть «грязный хак» в https://stackoverflow.com/a/14957893/4553442. Чтобы добавить операцию «Осевание», похожее на миграцию вверх и вниз ...

Как рельсы 5, rake Инструмент командной линии был псевдонищен как rails а сейчас

rails db:reset вместо rake db:reset

будет работать так же хорошо

Вы можете использовать rake db:reset Когда вы хотите отбросить локальную базу данных и начать свежим с помощью данных, загруженных из db/seeds.rb. Отказ Это полезная команда, когда вы все еще выясните свою схему, и часто нужно добавлять поля на существующие модели.

После того, как команда сброса используется, она сделает следующее: отбросьте базу данных: rake db:dropЗагрузить схему: rake db:schema:loadСемя данных: rake db:seed

Но если вы хотите полностью отбросить вашу базу данных, вы можете использовать rake db:drop. Отказ Снижение базы данных также удалит любые конфликты схемы или плохие данные. Если вы хотите сохранить данные, которые у вас есть, обязательно поддерживайте его, прежде чем запустить эту команду.

Это подробная статья о самых важных Команды базы данных Rake.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top