В настоящее время я пытаюсь настроить 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