【问题标题】:Error command : heroku run rake db:migrate错误命令:heroku 运行 rake db:migrate
【发布时间】:2012-10-29 12:56:07
【问题描述】:

我有一个使用 rails 3.2.8 和 MySQL 的简单应用程序正在开发中,当我尝试使用此命令时 > heroku run rake db:migrate 我有这个错误: PG::Error: 错误:关系“用户”的列“名称”已存在 :ALTER TABLE“用户”添加列“名称”字符变化(255)

这是我的 schema.rb

http://pastie.org/5132185

我不知道如何解决这个错误。

【问题讨论】:

    标签: ruby-on-rails heroku web migration production


    【解决方案1】:

    您在 Gemfile 中正确设置了生产数据库:

    group :production do
      gem 'pg'
    end
    

    但是由于第 14 行,您还可以将 gem 包含在所有环境中:

    gem 'pg'
    

    您应该指定 mysql 是仅用于开发/测试的 gem:

    group :development, :test do
      gem 'mysql'
    end
    

    至于您的错误,听起来用户表中已经存在列名。其他迁移是否添加了该列?

    【讨论】:

    【解决方案2】:

    Heroku 仅使用 PostgreSql,因此您必须将 gemfile 从 mysql 更改为 PG,或者仅将 mysql 用于测试/本地和 PG 用于生产

    gem 'PG' :group => :production
    

    【讨论】:

    • 在我的 Gemfile 我有这个 > group :production do gem 'pg' end > 但还是不行。
    • 你有 gem 'mysql2' 和 gem 'pg'。您只需指定 1 个数据库 gem,或为您的 gem 指定组,例如 mysql2 的 test\development 和生产环境的 pg
    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 2013-03-08
    • 2017-04-16
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多