0

我正在学习rails并从事一个项目,我需要将字符串列类型转换为二进制我试过

change_column :workers, :sin,:binary

但我不能这样做。

PG::DatatypeMismatch: ERROR:  column "sin" cannot be cast automatically to type bytea

我希望我的罪数据应该以加密形式存储,我正在使用这个 gem https://github.com/stas/active_record-pgcrypto 我还想在 UI 中显示时解密数据。我愿意接受建议。谢谢

4

1 回答 1

1

我认为最简单的方法是进行数据迁移。创建一个新的二进制列,然后为每条记录将当前列转换为加密形式,ActiveRecord::PGCrypto::SymmetricCoder.encrypt(value)并将此加密值存储在新的二进制列中。注意我没有测试它,我只是检查了gem的代码。

于 2021-11-22T16:06:13.687 回答