我在:amount使用Lockbox之后有一個加密列,我需要在我的控制器中求和。
目前,我有 -
transaction_controller.rb
@one_month_transactions_sum = transactions.where(transaction_date: 1.month.ago..Date.today).sum(:amount).abs()
這給了我錯誤 -PG::UndefinedColumn: ERROR: column "amount" does not exist LINE 1: SELECT SUM(amount) FROM "transactions" WHERE "transactions".... 這是有道理的,因為我要求 rails 在我更改為密文的列上使用 PG SUM 函式。
我如何將控制器級別的事務與加密列相加?
uj5u.com熱心網友回復:
如果您將資料作為不透明的二進制 blob 發送到資料庫,您(自然地)將失去直接在資料庫中操作這些欄位的能力。看來您唯一的選擇是將加密值提取到應用程式中,在 ruby?? 中解密和求和(慢慢地)。我還沒有嘗試過這個特定的庫,但我想這樣的事情應該可行:
transactions.where(...).map(&:amount).sum
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/314938.html
標籤:红宝石轨道 PostgreSQL 加密
下一篇:連接到用戶帳戶
