близко к испорченной моей БД на героку: ошибка mysql на БД: тянуть - PullRequest
0 голосов
/ 15 сентября 2010

Я думаю, что я близок к тому, чтобы испортить мою БД на heroku

Я пытаюсь загрузить удаленную БД на heroku с помощью heroku db: pull

Я получаю следующее сообщение:

news_items: 100% | ========================================= |Время: 00:00:01 /usr/lib/ruby/gems/1.8/gems/sequel-3.13.0/lib/sequel/adapters/mysql.rb:169:in `query ': Mysql :: Ошибка: повторяющаяся запись'3-Portfolio' для ключа 'index_unique_user_plugins' (Sequel :: DatabaseError)

Будет ли повторная индексация решить эту проблему или у меня проблемы?Я думаю, что понимаю, что это мой локальный db (так как mysql выдает ошибку, а heroku запускает PostgreSQL), который жалуется, поэтому в каком-то индексе, похоже, есть дубликаты ключей (не уверен, что я действительно знаю, что это значит)

1 Ответ

3 голосов
/ 15 сентября 2010

Я считаю, что проблема в том, что PostgreSQL обрабатывает строки как регистрозависимые, в то время как MySQL обрабатывает их как регистрозависимые.Это относится и к уникальным показателям.У пользователя 3, вероятно, есть плагин с именами «Портфолио» и «Портфолио».

Самое простое решение - изменить свой индекс на Heroku на неуникальный.Затем вы можете легко импортировать его в MySQL.Кроме того, вы можете немного помассировать данные, чтобы они по-прежнему были уникальными.Самый простой способ получить доступ к базе данных на Heroku - Heroku sql conole .Наконец, и, вероятно, лучший вариант - это использовать PostgreSQL локально, чтобы ваша среда разработки соответствовала вашей производственной среде.

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