从现有 password_digest 列迁移?

Migrate from existing password_digest column?

我有一个包含很多行的自定义 User 模型。我有一个要保留的 password_digest 列。 (来自has_secure_password

而且我也想使用 Devise 数据库可验证,但由于我对 Devise 的了解有限,我必须使用 encrypted_password 列。

有没有办法诱骗 Devise 使用我当前的 password_digest 进行身份验证,这样我就不会丢失所有的用户密码? 如果我添加一个 encrypted_password 列,它将是空白的,我绝对不希望它保持这样。

我可能以错误的方式思考这个问题。解决这个问题的正确方法是什么?

只需编写一个迁移来重命名列名,它不会丢失您的数据。

 rails g migration ChangeColumnName

这将生成一个迁移文件

class ChangeColumnName < ActiveRecord::Migration
    def change
       rename_column :users, :password_digest, :encrypted_password
    end
end