前書き
やらかしであるな。
Salesforceのデータ型が「チェックボックス」の項目をConnectした際の挙動
Salesforce側のデータ型が「チェックボックス」の項目をConnectすると、Postgres側のデータ型はBooleanになります。
このBoolean、BooleanといいつつSalesfoece側からのデータはTrue or NULLで降ってくるようになっています。
やらかし
降ってくるデータに合わせ、Heorku側で画面上のチェックボックスのチェックが外れた場合、NULLでUPDATEする処理を深く考えずに実装しました。
NULLで更新すると起こること
Postgres上では問題なくUPDATEできるのですが、Heroku ConnectがNULLでの同期を受け付けてくれず、結果valueがTrueに戻るという事象が発生しました。
対策
ConnectされたBoolean項目にはNULLを入れず、TrueかFalseのみ保存しましょう。