ОШИБКА столбца "reset_password_token" отношения "пользователи" уже существует Devise - PullRequest
0 голосов
/ 17 сентября 2018

В настоящее время я пытаюсь настроить Devise в приложении Rails 5.2. Я получаю следующую ошибку:

PG::DuplicateColumn: ERROR:  column "reset_password_token" of relation "users" already exists
: ALTER TABLE "users" ADD "reset_password_token" character varying

Я не понимаю, почему я получаю эту ошибку, поскольку моя пользовательская модель имеет только username и name в качестве полей данных. Я следовал за другой статьей без успеха. Это моя user таблица.

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :username
      t.string :name

      t.timestamps
    end
  end
end 

и это миграция для Devise

class AddDeviseToUsers < ActiveRecord::Migration[5.2]
  def self.up
    change_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

    end

    add_index :users, :email,                unique: true
    add_index :users, :reset_password_token, unique: true
    # add_index :users, :confirmation_token,   unique: true
    # add_index :users, :unlock_token,         unique: true
  end

  def self.down
    # By default, we don't want to make any assumption about how to roll back a migration when your
    # model already existed. Please edit below which fields you would like to remove in this migration.
    raise ActiveRecord::IrreversibleMigration
  end
end
...