PGError:错误:关系"用户"的列"电子邮件"已存在

tit*_*oul 2 migration ruby-on-rails heroku devise

我一直在开发一个关于localhost的网站,它很好.今天早上,我尝试使用命令"git push heroku master"将其推送到heroku,然后"heroku run rake db:migrate".当我尝试做第二个时,我有一个错误:

Connecting to database specified by DATABASE_URL
Migrating to DeviseCreateUsers (20130427200347)
Migrating to CreateAuthentications (20130427210108)
Migrating to AddTokenToAuth (20130427233400)
Migrating to AddNotificationToAuth (20130427234836)
Migrating to AddNotifToUser (20130428031013)
Migrating to AddDeviseToUsers (20130712103048)
==  AddDeviseToUsers: migrating ===============================================
-- change_table(:users)
rake aborted!
An error has occurred, this and all later migrations canceled:

PGError: ERROR:  column "email" of relation "users" already exists
: ALTER TABLE "users" ADD COLUMN "email" character varying(255) DEFAULT '' NOT N
sql_adapter.rb:652:in `async_exec'
Run Code Online (Sandbox Code Playgroud)

我找到了一个有同样问题的人(heroku PGError:已经存在500我们很抱歉,但出了点问题)但在我的情况下,迁移"AddDeviseToUsers"不在'db/migrate'文件夹中.

以前的迁移影响用户表是:

class DeviseCreateUsers < ActiveRecord::Migration
  def change
  create_table(:users) do |t|
  ## Database authenticatable
  t.string :email,              :null => false, :default => ""
  t.string :encrypted_password, :null => false, :default => ""

  ## Recoverable
  t.string   :reset_password_token
  t.datetime :reset_password_sent_at

  ## Rememberable
  t.datetime :remember_created_at

  ## Trackable
  t.integer  :sign_in_count, :default => 0
  t.datetime :current_sign_in_at
  t.datetime :last_sign_in_at
  t.string   :current_sign_in_ip
  t.string   :last_sign_in_ip

  ## Token authenticatable
  # t.string :authentication_token


  t.timestamps
end

add_index :users, :email,                :unique => true
add_index :users, :reset_password_token, :unique => true
end
end
Run Code Online (Sandbox Code Playgroud)

class AddNotifToUser < ActiveRecord::Migration
 def change
  add_column :users, :notif, :string
 end
end
Run Code Online (Sandbox Code Playgroud)

提前致谢 !!

编辑 - 运行时回答评论:heroku run rake db:migrate:status

up     20130427200347  Devise create users
up     20130427210108  Create authentications
up     20130427233400  Add token to auth
up     20130427234836  Add notification to auth
up     20130428031013  Add notif to user
down    20130712103048  Add devise to users
down    20130719091217  Create relationships
.
.
.
Run Code Online (Sandbox Code Playgroud)

tit*_*oul 8

在现有模型的Devise迁移中找到了答案.

我所做的是在DeviseCreateUsers迁移中注释掉这一行:

"t.string :email,              :null => false, :default => """ 
Run Code Online (Sandbox Code Playgroud)