Как я могу запустить миграцию на моей производственной базе данных, но не на моей базе данных разработки? - PullRequest
1 голос
/ 09 октября 2010

У меня есть база данных для разработки на моем компьютере и рабочая база данных на Heroku.Мне нужно выполнить миграцию в производственной базе данных, чтобы очистить определенные данные, которые я не хочу запускать в рабочей среде.До сих пор я выполнял только те миграции, которые хотел запустить на обеих, поэтому я просто создаю их на своем компьютере, запускаю, а затем, когда загружаю их в Heroku, я запускаю их и там.Как я могу выполнить миграцию только на производственную базу данных?Спасибо за прочтение.

Ответы [ 3 ]

4 голосов
/ 10 октября 2010
  1. Создайте свою миграцию.
  2. Фиксируй, толкай, беги на героку с heroku rake db:migrate --app myapp.
  3. Закомментируйте содержимое блока up.
  4. Запускать (теперь пустую) миграцию локально.
  5. Раскомментируйте или выполните git checkout / reset, чтобы вернуться в нормальное состояние.

Таким образом, и локальный, и производственный базы данных будут считать миграцию выполненной и не будут пытаться запустить ее снова.

2 голосов
/ 10 октября 2010

Миграции предназначены для обновления структуры вашей базы данных, а не для манипулирования данными. Если вы хотите манипулировать данными, вам следует использовать консоль или скрипт.

$ heroku console
0 голосов
/ 09 октября 2010

RAILS_ENV = производственный рейк, дБ: мигрировать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...