близко к испорченной моей БД на героку: ошибка mysql на БД: тянуть

0

Я думаю, что я близок к тому, чтобы испортить свой db на 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-Портфолио" для ключа 'index_unique_user_plugins' (Sequel:: DatabaseError)

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

Теги:
heroku

1 ответ

3
Лучший ответ

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

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

  • 0
    Благодарю. Это на самом деле так: у меня есть 3 портфеля и 3 портфеля в моей базе данных. Это происходит от плагина, поэтому я не знаю, как он появился, и если это на самом деле нормально или нет ...
  • 0
    Если вы хотите, чтобы все строки были уникальными, без учета регистра в будущем, добавьте ограничение уникальности (т.е. измените свой уникальный индекс на) LOWER(plugin) .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню