接近搞乱我在heroku上的数据库:db:mys上的mysql错误

时间:2010-09-15 02:37:47

标签: mysql ruby-on-rails heroku

我想我已经接近搞乱了我的数据库

我正在尝试通过heroku db:pull

在heroku上下载远程数据库

我收到以下消息:

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 :: Error:重复条目'3-Portfolio'为密钥'index_unique_user_plugins'(Sequel :: DatabaseError)

重新索引会解决这个问题还是我遇到了麻烦? 我想要明白这是我的本地数据库(因为它是mysql抛出错误,而heroku运行PostgreSQL)这是抱怨,因此在某些索引中似乎有一些重复键(不确定我真的知道这意味着什么)

1 个答案:

答案 0 :(得分:3)

我认为问题是PostgreSQL将字符串视为区分大小写,而MySQL将它们视为不区分大小写。这也适用于独特的指数。用户3可能有一个名为“Portfolio”和“portfolio”的插件。

最简单的解决方案是将Heroku上的索引更改为非唯一。然后,您可以轻松地将其导入MySQL。或者,您可以稍微按摩您的数据,这样它仍然是唯一的。在Heroku上访问数据库的最简单方法是Heroku sql conole。最后,也许最好的选择是在本地使用PostgreSQL,因此您的开发环境与您的生产环境相匹配。