Ruby on Rails случайно db: откат - PullRequest
0 голосов
/ 13 февраля 2019

Я новичок в rails, и я случайно выполнил команду rails db:rollback в разработке.

Затем я сделал rails db:migrate:up VERSION=XXXX, чтобы изменить состояние файла, который я откатил, снизу вверх.

Файл миграции был об изображениях.Однако мои изображения пропали в режиме разработки из-за отката, состояние файлов было таким же, как и прежде, чем я запустил rails db:rollback.

В этом случае, если я перенес это в удаленный репозиторий, и он был объединен в производство,изображения уже там пропадут так же как мои в разработке?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

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

Общую проблему «безопасно ли отправлять в производство» можно решить, добавив промежуточный сервер, который работает в рабочей среде Rails, но используется для дополнительного руководстватестирование новых функций.После того, как все проверено на стадии постановки, начните производство.Многие службы предоставляют для этого «конвейер», например Heroku Pipelines .

0 голосов
/ 13 февраля 2019

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

Откат удалит столбец, работающий remove_column, что затруднит вашу разработку, так как удаление столбца приведет к потере всех данных внутри столбца таблицы.Таким образом, на производстве это не так.

Изображения загружаются в производственную базу данных или удаленный репозиторий, достаточно просто добавить или удалить только столбец, чтобы откат затронул только вашу локальную / разработку

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