アプリのユーザー モデルがあり、has_secure_password
この時点まで効果的に使用されています。 コラムがhas_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コンソールに関する限り、移行をロールバックして「ロール」列を削除すると、通常の状態に戻ります。
ここで何が起こっているのですか?
これが私のデータベーススキーマです:
以下は、mysql に直接供給された SQL クエリの結果です。
Railsを介した同じクエリの結果は次のとおりです(初めて):
Railsを介した同じクエリの結果は次のとおりです(最初の時間後):