Skip to content

Commit 5082db9

Browse files
committed
[FIX] util/fields: check new table first
Some DBs may have still `ir_values` from previous upgrades. Check instead for the presence of the new `ir_default` table. upg-3172950 closes #332 Signed-off-by: Christophe Simonis (chs) <[email protected]>
1 parent 54f8a31 commit 5082db9

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/util/fields.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,17 +1223,7 @@ def change_field_selection_values(cr, model, field, mapping, skip_inherit=()):
12231223
[model, field, [k for k in mapping if k not in mapping.values()]],
12241224
)
12251225

1226-
if table_exists(cr, "ir_values"):
1227-
query = """
1228-
UPDATE ir_values
1229-
SET value = %(json)s::jsonb->>value
1230-
WHERE model = %(model)s
1231-
AND name = %(name)s
1232-
AND key = 'default'
1233-
AND value IN %(keys)s
1234-
"""
1235-
dumped_map = {pickle.dumps(k): pickle.dumps(v) for k, v in mapping.items()}
1236-
else:
1226+
if table_exists(cr, "ir_default"):
12371227
query = """
12381228
UPDATE ir_default d
12391229
SET json_value = (%(json)s::jsonb->>d.json_value)
@@ -1244,6 +1234,17 @@ def change_field_selection_values(cr, model, field, mapping, skip_inherit=()):
12441234
AND d.json_value IN %(keys)s
12451235
"""
12461236
dumped_map = {json.dumps(k): json.dumps(v) for k, v in mapping.items()}
1237+
else:
1238+
query = """
1239+
UPDATE ir_values
1240+
SET value = %(json)s::jsonb->>value
1241+
WHERE model = %(model)s
1242+
AND name = %(name)s
1243+
AND key = 'default'
1244+
AND value IN %(keys)s
1245+
"""
1246+
dumped_map = {pickle.dumps(k): pickle.dumps(v) for k, v in mapping.items()}
1247+
12471248
data = {
12481249
"keys": tuple(dumped_map),
12491250
"json": json.dumps(dumped_map),

0 commit comments

Comments
 (0)