Files
tryton-db-migration/data/7.4/ir.json
T

993 lines
30 KiB
JSON
Raw Normal View History

2026-08-08 01:29:43 +02:00
{
"version": "7.4",
"module": "ir",
"files": [
{
"module": "ir",
"file": "action.py",
2026-08-08 01:29:43 +02:00
"class": "ActionActWindowView",
"method": "__register__",
"line": 957,
"operations": [
{
"object": "table",
"operation": "not_null_action",
"tables": [
"ir_action_act_window_view"
],
2026-08-08 01:29:43 +02:00
"line": 963,
"args": [
"'sequence'",
"'remove'"
],
"kwargs": {},
"code": "table.not_null_action('sequence', 'remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "action.py",
2026-08-08 01:29:43 +02:00
"class": "ActionActWindowDomain",
"method": "__register__",
"line": 1006,
"operations": [
{
"object": "table",
"operation": "not_null_action",
"tables": [
"ir_action_act_window_domain"
],
2026-08-08 01:29:43 +02:00
"line": 1012,
"args": [
"'sequence'",
"'remove'"
],
"kwargs": {},
"code": "table.not_null_action('sequence', 'remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "cron.py",
2026-08-08 01:29:43 +02:00
"class": "Cron",
"method": "__register__",
"line": 119,
"operations": [
{
"object": "table_h",
"operation": "not_null_action",
"tables": [
"ir_cron"
],
2026-08-08 01:29:43 +02:00
"line": 130,
"args": [
"'next_call'",
"'remove'"
],
"kwargs": {},
"code": "table_h.not_null_action('next_call', 'remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "export.py",
2026-08-08 01:29:43 +02:00
"class": "Export",
"method": "__register__",
"line": 56,
"operations": [
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_export"
],
2026-08-08 01:29:43 +02:00
"line": 67,
"args": [
"*table.update([table.user], [table.create_uid])"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(Transaction().connection.cursor()).execute(*table.update([table.user], [table.create_uid]))",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "not user_exists"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_export"
],
2026-08-08 01:29:43 +02:00
"line": 67,
"args": [
"[table.user]",
"[table.create_uid]"
],
"kwargs": {},
"code": "table.update([table.user], [table.create_uid])",
"phase": "after_super",
"condition": "not user_exists"
}
]
},
{
"module": "ir",
"file": "model.py",
2026-08-08 01:29:43 +02:00
"class": "ModelField",
"method": "__register__",
"line": 297,
"operations": [
{
"object": "table_h",
"operation": "column_rename",
"tables": [
"ir_model_field"
],
2026-08-08 01:29:43 +02:00
"line": 309,
"args": [
"'model'",
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.column_rename('model', '_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "add_column",
"tables": [
"ir_model_field"
],
2026-08-08 01:29:43 +02:00
"line": 310,
"args": [
"'model'",
"'VARCHAR'"
],
"kwargs": {},
"code": "table_h.add_column('model', 'VARCHAR')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_model_field"
],
2026-08-08 01:29:43 +02:00
"line": 311,
"args": [
"*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(transaction.connection.cursor()).execute(*table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id))",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_model_field"
],
2026-08-08 01:29:43 +02:00
"line": 311,
"args": [
"[table.model]",
"[model.model]"
],
"kwargs": {
"from_": "[model]",
"where": "table._temp_model == model.id"
},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id)",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_model_field"
],
2026-08-08 01:29:43 +02:00
"line": 315,
"args": [
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.drop_column('_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
}
]
},
{
"module": "ir",
"file": "model.py",
2026-08-08 01:29:43 +02:00
"class": "ModelAccess",
"method": "__register__",
"line": 534,
"operations": [
{
"object": "table_h",
"operation": "column_rename",
"tables": [
"ir_model_access"
],
2026-08-08 01:29:43 +02:00
"line": 546,
"args": [
"'model'",
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.column_rename('model', '_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "add_column",
"tables": [
"ir_model_access"
],
2026-08-08 01:29:43 +02:00
"line": 547,
"args": [
"'model'",
"'VARCHAR'"
],
"kwargs": {},
"code": "table_h.add_column('model', 'VARCHAR')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_model_access"
],
2026-08-08 01:29:43 +02:00
"line": 548,
"args": [
"*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(transaction.connection.cursor()).execute(*table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id))",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_model_access"
],
2026-08-08 01:29:43 +02:00
"line": 548,
"args": [
"[table.model]",
"[model.model]"
],
"kwargs": {
"from_": "[model]",
"where": "table._temp_model == model.id"
},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id)",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_model_access"
],
2026-08-08 01:29:43 +02:00
"line": 552,
"args": [
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.drop_column('_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
}
]
},
{
"module": "ir",
"file": "model.py",
2026-08-08 01:29:43 +02:00
"class": "ModelFieldAccess",
"method": "__register__",
"line": 789,
"operations": [
{
"object": "table_h",
"operation": "column_rename",
"tables": [
"ir_model_field_access"
],
2026-08-08 01:29:43 +02:00
"line": 801,
"args": [
"'field'",
"'_temp_field'"
],
"kwargs": {},
"code": "table_h.column_rename('field', '_temp_field')",
"phase": "before_super",
"condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')"
},
{
"object": "table_h",
"operation": "add_column",
"tables": [
"ir_model_field_access"
],
2026-08-08 01:29:43 +02:00
"line": 802,
"args": [
"'model'",
"'VARCHAR'"
],
"kwargs": {},
"code": "table_h.add_column('model', 'VARCHAR')",
"phase": "before_super",
"condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')"
},
{
"object": "table_h",
"operation": "add_column",
"tables": [
"ir_model_field_access"
],
2026-08-08 01:29:43 +02:00
"line": 803,
"args": [
"'field'",
"'VARCHAR'"
],
"kwargs": {},
"code": "table_h.add_column('field', 'VARCHAR')",
"phase": "before_super",
"condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_model_field_access"
],
2026-08-08 01:29:43 +02:00
"line": 804,
"args": [
"*table.update([table.model, table.field], [field.model, field.name], from_=[field], where=table._temp_field == field.id)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(transaction.connection.cursor()).execute(*table.update(\n [table.model, table.field],\n [field.model, field.name],\n from_=[field],\n where=table._temp_field == field.id))",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_model_field_access"
],
2026-08-08 01:29:43 +02:00
"line": 804,
"args": [
"[table.model, table.field]",
"[field.model, field.name]"
],
"kwargs": {
"from_": "[field]",
"where": "table._temp_field == field.id"
},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.model, table.field],\n [field.model, field.name],\n from_=[field],\n where=table._temp_field == field.id)",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_model_field_access"
],
2026-08-08 01:29:43 +02:00
"line": 809,
"args": [
"'_temp_field'"
],
"kwargs": {},
"code": "table_h.drop_column('_temp_field')",
"phase": "before_super",
"condition": "table_h.column_exist('field') and table_h.column_is_type('field', 'INTEGER')"
}
]
},
{
"module": "ir",
"file": "model.py",
2026-08-08 01:29:43 +02:00
"class": "ModelButton",
"method": "__register__",
"line": 988,
"operations": [
{
"object": "table_h",
"operation": "column_rename",
"tables": [
"ir_model_button"
],
2026-08-08 01:29:43 +02:00
"line": 1000,
"args": [
"'model'",
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.column_rename('model', '_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "add_column",
"tables": [
"ir_model_button"
],
2026-08-08 01:29:43 +02:00
"line": 1001,
"args": [
"'model'",
"'VARCHAR'"
],
"kwargs": {},
"code": "table_h.add_column('model', 'VARCHAR')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_model_button"
],
2026-08-08 01:29:43 +02:00
"line": 1002,
"args": [
"*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(transaction.connection.cursor()).execute(*table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id))",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_model_button"
],
2026-08-08 01:29:43 +02:00
"line": 1002,
"args": [
"[table.model]",
"[model.model]"
],
"kwargs": {
"from_": "[model]",
"where": "table._temp_model == model.id"
},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id)",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_model_button"
],
2026-08-08 01:29:43 +02:00
"line": 1006,
"args": [
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.drop_column('_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "drop_constraint",
"tables": [
"ir_model_button"
],
2026-08-08 01:29:43 +02:00
"line": 1011,
"args": [
"'name_model_uniq'"
],
"kwargs": {},
"code": "table_h.drop_constraint('name_model_uniq')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "model.py",
2026-08-08 01:29:43 +02:00
"class": "ModelData",
"method": "__register__",
"line": 1344,
"operations": [
{
"object": "table_h",
"operation": "not_null_action",
"tables": [
"ir_model_data"
],
2026-08-08 01:29:43 +02:00
"line": 1350,
"args": [
"'db_id'"
],
"kwargs": {
"action": "'remove'"
},
"code": "table_h.not_null_action('db_id', action='remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "module.py",
2026-08-08 01:29:43 +02:00
"class": "ModuleConfigWizardItem",
"method": "__register__",
"line": 323,
"operations": [
{
"object": "table",
"operation": "not_null_action",
"tables": [
"ir_module_config_wizard_item"
],
2026-08-08 01:29:43 +02:00
"line": 329,
"args": [
"'sequence'",
"'remove'"
],
"kwargs": {},
"code": "table.not_null_action('sequence', 'remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "rule.py",
2026-08-08 01:29:43 +02:00
"class": "RuleGroup",
"method": "__register__",
"line": 84,
"operations": [
{
"object": "table_h",
"operation": "column_rename",
"tables": [
"ir_rule_group"
],
2026-08-08 01:29:43 +02:00
"line": 96,
"args": [
"'model'",
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.column_rename('model', '_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "add_column",
"tables": [
"ir_rule_group"
],
2026-08-08 01:29:43 +02:00
"line": 97,
"args": [
"'model'",
"'VARCHAR'"
],
"kwargs": {},
"code": "table_h.add_column('model', 'VARCHAR')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_rule_group"
],
2026-08-08 01:29:43 +02:00
"line": 98,
"args": [
"*table.update([table.model], [model.model], from_=[model], where=table._temp_model == model.id)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(transaction.connection.cursor()).execute(*table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id))",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_rule_group"
],
2026-08-08 01:29:43 +02:00
"line": 98,
"args": [
"[table.model]",
"[model.model]"
],
"kwargs": {
"from_": "[model]",
"where": "table._temp_model == model.id"
},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.model], [model.model],\n from_=[model],\n where=table._temp_model == model.id)",
2026-08-08 01:29:43 +02:00
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_rule_group"
],
2026-08-08 01:29:43 +02:00
"line": 102,
"args": [
"'_temp_model'"
],
"kwargs": {},
"code": "table_h.drop_column('_temp_model')",
"phase": "before_super",
"condition": "table_h.column_exist('model') and table_h.column_is_type('model', 'INTEGER')"
}
]
},
{
"module": "ir",
"file": "sequence.py",
2026-08-08 01:29:43 +02:00
"class": "SequenceType",
"method": "__register__",
"line": 41,
"operations": [
{
"object": "table_h",
"operation": "not_null_action",
"tables": [
"ir_sequence_type"
],
2026-08-08 01:29:43 +02:00
"line": 47,
"args": [
"'code'"
],
"kwargs": {
"action": "'remove'"
},
"code": "table_h.not_null_action('code', action='remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "sequence.py",
2026-08-08 01:29:43 +02:00
"class": "Sequence",
"method": "__register__",
"line": 122,
"operations": [
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_sequence",
"ir_sequence_type"
],
2026-08-08 01:29:43 +02:00
"line": 135,
"args": [
"*table.update([table.sequence_type], sequence_type.select(sequence_type.id, where=sequence_type.code == table.code))"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.sequence_type],\n sequence_type.select(\n sequence_type.id,\n where=sequence_type.code == table.code)))",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('code')"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_sequence",
"ir_sequence_type"
],
2026-08-08 01:29:43 +02:00
"line": 135,
"args": [
"[table.sequence_type]",
"sequence_type.select(sequence_type.id, where=sequence_type.code == table.code)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.sequence_type],\n sequence_type.select(\n sequence_type.id,\n where=sequence_type.code == table.code))",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('code')"
},
{
"object": "sequence_type",
"operation": "select",
"tables": [
"ir_sequence_type"
],
2026-08-08 01:29:43 +02:00
"line": 137,
"args": [
"sequence_type.id"
],
"kwargs": {
"where": "sequence_type.code == table.code"
},
2026-08-09 00:47:23 +02:00
"code": "sequence_type.select(\n sequence_type.id,\n where=sequence_type.code == table.code)",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('code')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_sequence"
],
2026-08-08 01:29:43 +02:00
"line": 140,
"args": [
"'code'"
],
"kwargs": {},
"code": "table_h.drop_column('code')",
"phase": "after_super",
"condition": "table_h.column_exist('code')"
}
]
},
{
"module": "ir",
"file": "translation.py",
2026-08-08 01:29:43 +02:00
"class": "Translation",
"method": "__register__",
"line": 122,
"operations": [
{
"object": "table",
"operation": "drop_constraint",
"tables": [
"ir_translation"
],
2026-08-08 01:29:43 +02:00
"line": 127,
"args": [
"'translation_md5_uniq'"
],
"kwargs": {},
"code": "table.drop_constraint('translation_md5_uniq')",
"phase": "before_super",
"condition": "table.column_exist('src_md5')"
},
{
"object": "table",
"operation": "drop_column",
"tables": [
"ir_translation"
],
2026-08-08 01:29:43 +02:00
"line": 128,
"args": [
"'src_md5'"
],
"kwargs": {},
"code": "table.drop_column('src_md5')",
"phase": "before_super",
"condition": "table.column_exist('src_md5')"
}
]
},
{
"module": "ir",
"file": "trigger.py",
2026-08-08 01:29:43 +02:00
"class": "Trigger",
"method": "__register__",
"line": 79,
"operations": [
{
"object": "model",
"operation": "select",
"tables": [
"ir_model"
],
2026-08-08 01:29:43 +02:00
"line": 92,
"args": [
"model.model"
],
"kwargs": {
"where": "model.id == sql_table.action_model"
},
2026-08-09 00:47:23 +02:00
"code": "model.select(\n model.model, where=model.id == sql_table.(model.select(\n model.model, where=model.id == sql_table.action_model)))",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_trigger"
],
2026-08-08 01:29:43 +02:00
"line": 94,
"args": [
"*sql_table.update([sql_table.action], [Concat(action_model, Concat('|', sql_table.action_function))])"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.action],\n [Concat((model.select(\n model.model, where=model.id == sql_table.action_model)), Concat(\n '|', sql_table.action_function))]))",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')"
},
{
"object": "sql_table",
"operation": "update",
"tables": [
"ir_trigger"
],
2026-08-08 01:29:43 +02:00
"line": 94,
"args": [
"[sql_table.action]",
"[Concat(action_model, Concat('|', sql_table.action_function))]"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "sql_table.update(\n [sql_table.action],\n [Concat((model.select(\n model.model, where=model.id == sql_table.action_model)), Concat(\n '|', sql_table.action_function))])",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_trigger"
],
2026-08-08 01:29:43 +02:00
"line": 98,
"args": [
"'action_model'"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "table_h.drop_column('(model.select(\n model.model, where=model.id == sql_table.action_model))')",
2026-08-08 01:29:43 +02:00
"phase": "after_super",
"condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')"
},
{
"object": "table_h",
"operation": "drop_column",
"tables": [
"ir_trigger"
],
2026-08-08 01:29:43 +02:00
"line": 99,
"args": [
"'action_function'"
],
"kwargs": {},
"code": "table_h.drop_column('action_function')",
"phase": "after_super",
"condition": "table_h.column_exist('action_model') and table_h.column_exist('action_function')"
}
]
},
{
"module": "ir",
"file": "ui/icon.py",
2026-08-08 01:29:43 +02:00
"class": "Icon",
"method": "__register__",
"line": 35,
"operations": [
{
"object": "table",
"operation": "not_null_action",
"tables": [
"ir_ui_icon"
],
2026-08-08 01:29:43 +02:00
"line": 41,
"args": [
"'sequence'",
"'remove'"
],
"kwargs": {},
"code": "table.not_null_action('sequence', 'remove')",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "ui/view.py",
2026-08-08 01:29:43 +02:00
"class": "ViewTreeOptional",
"method": "__register__",
"line": 570,
"operations": [
{
"object": "table_h",
"operation": "column_rename",
"tables": [
"ir_ui_view_tree_optional"
],
2026-08-08 01:29:43 +02:00
"line": 579,
"args": [
"'view_id'",
"'view'"
],
"kwargs": {},
"code": "table_h.column_rename('view_id', 'view')",
"phase": "before_super"
},
{
"object": "cursor",
"operation": "execute",
"tables": [
"ir_ui_view_tree_optional",
"ir_ui_view"
],
2026-08-08 01:29:43 +02:00
"line": 584,
"args": [
"*table.update([table.model], [view.select(view.model, where=view.id == table.view)], where=table.model == Null)"
],
"kwargs": {},
2026-08-09 00:47:23 +02:00
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.model],\n [view.select(view.model, where=view.id == table.view)],\n where=table.model == Null))",
2026-08-08 01:29:43 +02:00
"phase": "after_super"
},
{
"object": "table",
"operation": "update",
"tables": [
"ir_ui_view_tree_optional",
"ir_ui_view"
],
2026-08-08 01:29:43 +02:00
"line": 584,
"args": [
"[table.model]",
"[view.select(view.model, where=view.id == table.view)]"
],
"kwargs": {
"where": "table.model == Null"
},
2026-08-09 00:47:23 +02:00
"code": "table.update(\n [table.model],\n [view.select(view.model, where=view.id == table.view)],\n where=table.model == Null)",
2026-08-08 01:29:43 +02:00
"phase": "after_super"
},
{
"object": "view",
"operation": "select",
"tables": [
"ir_ui_view"
],
2026-08-08 01:29:43 +02:00
"line": 586,
"args": [
"view.model"
],
"kwargs": {
"where": "view.id == table.view"
},
"code": "view.select(view.model, where=view.id == table.view)",
"phase": "after_super"
}
]
},
{
"module": "ir",
"file": "ui/view.py",
2026-08-08 01:29:43 +02:00
"class": "ViewSearch",
"method": "__register__",
"line": 757,
"operations": [
{
"object": "table_h",
"operation": "not_null_action",
"tables": [
"ir_ui_view_search"
],
2026-08-08 01:29:43 +02:00
"line": 762,
"args": [
"'user'",
"'remove'"
],
"kwargs": {},
"code": "table_h.not_null_action('user', 'remove')",
"phase": "after_super"
}
]
}
]
}