使用新的Ruby on Rails数据库保留旧用户

时间:2016-10-13 16:20:27

标签: ruby-on-rails ruby database

我有一个Ruby on Rails应用程序,订阅了约300封电子邮件。 由于技术原因,我不得不修改数据库的一个很好的部分,如果我保存旧的用户电子邮件和password_digest,我可以在我的新数据库中插入旧用户管理他们的旧密码吗?

要存储密码,请使用以下gem:

gem 'bcrypt'

在每个模型中我都有:

 has_secure_password

在迁移中:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :email
      t.string :password_digest
      ...
    end
  end
end

这允许我通过简单地执行

来保存密码
 user = User.find x
 user.password = "password"
 user.save

对我来说,完美的解决方案是保存当前的电子邮件和password_digest,以便新数据库中的用户具有相同的密码。这可能吗?

1 个答案:

答案 0 :(得分:0)

所以你有几种选择。如果您要保持User表结构相同,那么您可以导出用户表的sql转储并将其重新导入到新数据库中,它应该像以前一样工作。

请参阅此回答How to take backup of a single table in a MySQL database?

您还可以将内容导出为CSV,然后编写脚本以将用户信息导回数据库。

我会使用数据库转储解决方案,最重要的是在手之前备份你的整个数据库

相关问题