推送Heroku时出现数据库错误

时间:2013-08-14 13:56:38

标签: ruby-on-rails heroku

PG::DuplicateColumn: ERROR:  column "name" of relation "restaurants" already exists
: ALTER TABLE "restaurants" ADD COLUMN "name" character varying(255)/app/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/postgresql_adapter.rb:650:in `exec'

这是来自架构的表格

create_table "restaurants", :force => true do |t|
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false
    t.string   "name"
    t.string   "picture"
    t.string   "address"
  end

运行heroku run rake db:migrate

后出错

我看不到我有一个重复的列。我只是用heroku create将它推送到heroku,在gem和gem lock文件中删除了sqlite3然后git push heroku master

我有一个pg gem,我应该在运行迁移之前配置数据库以在heroku上安装表吗?

2 个答案:

答案 0 :(得分:0)

最明确的是,您有一个挂起的迁移,将此列“name”添加到“restaurants”表。在开发环境中运行rake db:migrate时,您应该会看到此错误。

对于您的上一个问题,您的数据库已经配置,并且基于您已使用postgres的迁移。

希望这有帮助。

答案 1 :(得分:0)

检查link。如果这不起作用,我建议你在开发环境中rake db:reset并检查rake db:migrate是否也能正常工作。