スマートグループの条件を編集すると、4.7アップグレード後に無関係のCheckBoxカスタムフィールドでSQL構文エラーが発生する

Following an upgrade from 4.6.33 to 4.7.31, a site is giving a
SQL syntax error when trying to go to the Edit Smart Group Criteria
form, i.e.
/civicrm/contact/search/advanced?reset=1&force=1&ssID=blah
.

これは、アップグレードのかなり前に作成された多数の同様のスマートグループで発生しています。構文エラーには、次の行にある不正なWHERE句が含まれます。

civicrm_value_blah.blah_56 IN ''

すなわち、INには括弧がない。

問題のスマートグループは非常に単純です:グループXの連絡先と連絡先参照のカスタムフィールドYがZに等しい。

スマートグループ基準に含まれていないが、String/CheckBoxカスタムフィールドではないフィールドに関連するエラーです。

同じ基準で4.7.31に新しくスマートグループを作成した場合、civicrm_saved_search.form_valuesは、4.7より前のバージョンと大きく異なります。例えば。
2つのケースでカスタムフィールドID 56に関連する抜粋:

壊れたスマートグループは事前に作成4.7:

a:1:{s:30: “上記のアドレスではなくなりました”; s:0: “”;}

4.7.31で作成されたスマートグループ:

i:7; a:5:{i:0; s:18: "custom_56_operator"; i:1; s:1: "=";
i:2; s:2: "or"; i: 3; i:0; i:4; i:0;}

つまり、データ形式が変更され、古いスマートグループの一部を新しい形式に移行する必要があるものの、移行していないものがあるように見えます。

プレ4.7作成されたスマートグループのすべてがアタッチされているわけではありません。古い作業用スマートグループのカスタムフィールドID
56に関連する抜粋は次のとおりです。

作業スマートグループは事前に作成4.7:

a:0:{} s:18: “custom_56_operator”; s:2: “or”; s:9:
"custom_56"

特定の分野の過去のアップグレードについてCiviに同様の問題がありました。 activity_type
IIRCしかし私はここに見ているものに合ったレポートは見ていません。

フォーマットを移行する必要がありますか?他人にこれを見ましたか?

ベストアンサー
申し訳ありませんが、適切な答えはありません

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です