添加新列时,Password_Digest有问题

时间:2012-05-05 05:28:19

标签: mysql ruby-on-rails rails-migrations

我的应用已经有了一个用户模型,到目前为止它已经有效地使用了has_secure_passwordhas_secure_password需要password_digest列,这就是我最近的问题。

我想创建一个类型字符串的“角色”列,用于将管理员与用户分开 - 但是在迁移之后,我的password_digest已损坏,因此每当我尝试在我的应用中使用它时,我都会收到无效的哈希错误。在mysql中一切都很好(password_digest值没有改变)但在rails控制台中User.first.password_digest返回的值是这样的:

\#BigDecimal:59d0c60,'0.0',9(18)

此外,除非我从字符串中更改角色的类型,否则它同样搞砸了(尽管像password_digest一样,无论如何都在mysql中完全没问题)。回滚迁移并删除“角色”列会导致password_digest恢复正常,就rails控制台而言。

这里发生了什么?

这是我的数据库架构: Database schema

这是直接提供给mysql的sql查询的结果: MySQL query

这是通过rails(第一次)进行相同查询的结果: Rails query

以下是通过rails进行相同查询的结果(第一次之后): Rails query2

1 个答案:

答案 0 :(得分:0)

您的查询似乎已自动解释。请参阅此处的文档http://guides.rubyonrails.org/active_record_querying.html#automatic-explain

相关问题