Я думаю, что я близок к тому, чтобы испортить свой 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), который жалуется, таким образом, в каком-то индексе, похоже, есть несколько дубликатов ключей (не уверен, что я действительно знаю, что это означает)
Я считаю, что проблема заключается в том, что PostgreSQL рассматривает строки как чувствительные к регистру, в то время как MySQL относится к ним как к регистру без учета регистра. Это относится и к уникальным индексам. У пользователя 3, вероятно, есть плагин с именем "Портфолио" и "Портфолио".
Самое простое решение - изменить индекс на Heroku, чтобы он не был уникальным. Затем вы можете легко импортировать его в MySQL. Кроме того, вы можете немного массировать свои данные, чтобы он был уникальным. Самый простой способ получить доступ к базе данных на Heroku - это Heroku sql conole. Наконец, и, вероятно, лучший вариант - использовать PostgreSQL локально, поэтому ваша среда разработки соответствует вашей производственной среде.
LOWER(plugin)
.