如果我在数据库中有一个列,我想编写一个迁移,生成另一个包含第一列的md5哈希的列。我可以做的加密,但结构上大致应该是什么样的迁移呢?我只为每个人做一次吗?
答案 0 :(得分:0)
我会用sql查询这样做,因为这是关于整个表,迭代会减慢它无用。
add_column :table_name, :password_md5, :string
ActiveRecord::Base.connection().execute("UPDATE table_name SET password_md5=MD5(password_plain)")