アプリのユーザー モデルがあり、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_digestRailsコンソールに関する限り、移行をロールバックして「ロール」列を削除すると、通常の状態に戻ります。
ここで何が起こっているのですか?
これが私のデータベーススキーマです:

以下は、mysql に直接供給された SQL クエリの結果です。

Railsを介した同じクエリの結果は次のとおりです(初めて):

Railsを介した同じクエリの結果は次のとおりです(最初の時間後):
