Мне удалось перенести мое приложение Ruby on Rails с MySQL (локальный разработчик) на сервер Heroku вместе с переносом модели с помощью команды heroku rake db:migrate
. Я также прочитал документацию по Импорт / экспорт базы данных . Это документ относится к отправке фактических данных из моей локальной базы данных разработчиков в любую базу данных Heroku? Нужно ли что-нибудь изменить в файле database.yml
, чтобы это произошло?
Я выполнил следующую команду:
heroku db:push
и я получаю ошибку:
Sending data
2 tables, 3 records
!!! Caught Server Exception | ETA: --:--:--
Taps Server Error: PGError ERROR: duplicate key value violates unique constraint
"unique_schema_migrations"
У меня есть 2 таблицы, одну я создаю для своего приложения, а другую schema_migrations
. Общее количество записей в этих двух таблицах равно 3. Я также печатаю количество записей в созданной мной таблице, и оно показывает 0.
Есть идеи, чего мне не хватает или что я делаю неправильно?
EDIT:
Я понял выше, у БД Heroku уже есть schema_migrations
момент, когда я запустил миграцию.
Новый вопрос: Кто-нибудь знает, как я могу исключить данные из определенной таблицы из базы данных Heroku DB. Таблица для исключения в этом случае будет schema_migrations
.
Не очень хорошее решение :
Я погуглил, и у кого-то еще возникла та же проблема Он предложил назвать таблицу schema_migrations
как zschema_migrations
. Таким образом, данные из других таблиц будут отправлены должным образом, пока не произойдет сбой в последней таблице. Это довольно плохое решение, но пока подойдет.
Лучшим решением будет использование существующей команды Rails, которая может сбросить конкретную таблицу из базы данных. Я не думаю, что Rake
может это сделать.