таблица, которая была удалена ранее - создайте миграцию снова - PullRequest
0 голосов
/ 12 декабря 2018

Вопрос относительно миграции: несколько месяцев назад у меня была таблица, называемая payment , затем мы написали миграцию и удалили ее

, теперь я хочу эту таблицу payment снова

Я сгенерировал миграцию, но при миграции она фактически падает и не создает платежей .

Пожалуйста, кто-нибудь может подсказать мне направление?TA

1 Ответ

0 голосов
/ 12 декабря 2018

Это зависит от того, как вы удалили свою таблицу.

Как работает миграция

Когда бы ни создавалась миграция, она имеет свою собственную временную метку и когда вы запускаете rake db:migrate, он запустит метод up (создайте таблицу в вашем случае) и сохраните метку времени этой миграции в таблице schema_migrations.

Вы можете проверить, присутствует ли таблица платежей в вашей таблице или нет.базы данных с использованием следующего,

ActiveRecord::Base.connection.tables.include? 'payments'

case - Если вы удалили таблицу не путем рельсов (из консоли или из внешнего источника), то schema_migrations не очистит временную метку миграции, котораясоздать таблицу payments (метод down может очистить метку времени).но добавление новой миграции для создания таблицы payments с новой отметкой времени не повлияет на вас.

И если это все равно не поможет, все зависит от того, что вы написали в своем файле миграции «создать таблицу платежей»,метод, вызываемый внутри, должен быть change или up (дополнительная информация).

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