Ausertung von schleifen und Helperfunktionen ergänzt in extract.py
This commit is contained in:
+26
-1
@@ -1,5 +1,30 @@
|
||||
{
|
||||
"version": "5.0",
|
||||
"module": "currency",
|
||||
"files": []
|
||||
"files": [
|
||||
{
|
||||
"module": "currency",
|
||||
"file": "currency.py",
|
||||
"class": "Currency",
|
||||
"method": "__register__",
|
||||
"line": 55,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 64,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -607,6 +607,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
+26
-1
@@ -1,5 +1,30 @@
|
||||
{
|
||||
"version": "5.2",
|
||||
"module": "currency",
|
||||
"files": []
|
||||
"files": [
|
||||
{
|
||||
"module": "currency",
|
||||
"file": "currency.py",
|
||||
"class": "Currency",
|
||||
"method": "__register__",
|
||||
"line": 53,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 66,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 74,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -740,6 +754,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 53,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 67,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 69,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 77,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -740,6 +754,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 55,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 55,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 51,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 65,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 69,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 77,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -800,6 +814,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 94,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 94,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 55,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 55,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 51,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 65,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 71,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 79,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -800,6 +814,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 55,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 55,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 62,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 59,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 73,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 84,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 92,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -899,6 +913,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 98,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 98,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 61,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 75,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 86,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 94,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -899,6 +913,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 88,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 88,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 95,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 95,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 59,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 73,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -337,6 +337,20 @@
|
||||
"method": "__register__",
|
||||
"line": 87,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 95,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -922,6 +936,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 90,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 86,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 86,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 93,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 93,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 60,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 74,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -313,6 +313,20 @@
|
||||
"method": "__register__",
|
||||
"line": 92,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 100,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -834,6 +848,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 91,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 86,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 86,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 93,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 93,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,6 +9,21 @@
|
||||
"method": "__register__",
|
||||
"line": 72,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
"tables": [
|
||||
"currency_currency"
|
||||
],
|
||||
"line": 86,
|
||||
"args": [
|
||||
"col",
|
||||
"'remove'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.not_null_action(col, 'remove')",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -313,6 +313,20 @@
|
||||
"method": "__register__",
|
||||
"line": 92,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 100,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
@@ -834,6 +848,39 @@
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"*sql_table.update([sql_table.minimum_time_delay], [delay], where=sql_table.id == id_)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_))",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "sql_table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"[sql_table.minimum_time_delay]",
|
||||
"[delay]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "sql_table.id == id_"
|
||||
},
|
||||
"code": "sql_table.update(\n [sql_table.minimum_time_delay],\n [(datetime.timedelta(hours=delay))],\n where=sql_table.id == id_)",
|
||||
"phase": "after_super",
|
||||
"condition": "table.column_exist('minimum_delay')"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "drop_column",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -57,6 +57,20 @@
|
||||
"method": "__register__",
|
||||
"line": 92,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 100,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
|
||||
@@ -236,6 +236,37 @@
|
||||
},
|
||||
"code": "table.update([table.type], ['cn_ric'],\n where=(table.type == 'cn_rit'))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 793,
|
||||
"args": [
|
||||
"*table.update([table.type], [new], where=table.type == old)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.type], [new],\n where=table.type == old))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 793,
|
||||
"args": [
|
||||
"[table.type]",
|
||||
"[new]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.type == old"
|
||||
},
|
||||
"code": "table.update(\n [table.type], [new],\n where=table.type == old)",
|
||||
"phase": "after_super"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -57,6 +57,20 @@
|
||||
"method": "__register__",
|
||||
"line": 92,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 100,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
|
||||
@@ -261,6 +261,37 @@
|
||||
},
|
||||
"code": "table.update([table.type], ['cn_ric'],\n where=(table.type == 'cn_rit'))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 818,
|
||||
"args": [
|
||||
"*table.update([table.type], [new], where=table.type == old)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.type], [new],\n where=table.type == old))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 818,
|
||||
"args": [
|
||||
"[table.type]",
|
||||
"[new]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.type == old"
|
||||
},
|
||||
"code": "table.update(\n [table.type], [new],\n where=table.type == old)",
|
||||
"phase": "after_super"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -57,6 +57,20 @@
|
||||
"method": "__register__",
|
||||
"line": 119,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "drop_column",
|
||||
"tables": [
|
||||
"ir_cron"
|
||||
],
|
||||
"line": 127,
|
||||
"args": [
|
||||
"column"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.drop_column(column)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "not_null_action",
|
||||
|
||||
@@ -262,6 +262,37 @@
|
||||
"code": "table.update([table.type], ['cn_ric'],\n where=(table.type == 'cn_rit'))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 836,
|
||||
"args": [
|
||||
"*table.update([table.type], [new], where=table.type == old)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.type], [new],\n where=table.type == old))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 836,
|
||||
"args": [
|
||||
"[table.type]",
|
||||
"[new]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.type == old"
|
||||
},
|
||||
"code": "table.update(\n [table.type], [new],\n where=table.type == old)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -36,6 +36,67 @@
|
||||
"code": "template_lot_type.select(\n template_lot_type.template,\n distinct_on=template_lot_type.template)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"*template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id).select(lot_type.code, where=template_lot_type.template == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "template_lot_type.join(lot_type, condition=template_lot_type.type == lot_type.id)",
|
||||
"operation": "select",
|
||||
"tables": [],
|
||||
"line": 89,
|
||||
"args": [
|
||||
"lot_type.code"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "template_lot_type.template == template_id"
|
||||
},
|
||||
"code": "template_lot_type\n .join(lot_type,\n condition=template_lot_type.type == lot_type.id)\n .select(\n lot_type.code,\n where=template_lot_type.template == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"*table.update([table.lot_required], [value], where=table.id == template_id)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(connection.cursor()).execute(*table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id))",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"product_template"
|
||||
],
|
||||
"line": 96,
|
||||
"args": [
|
||||
"[table.lot_required]",
|
||||
"[value]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.id == template_id"
|
||||
},
|
||||
"code": "table.update(\n [table.lot_required], [(cls.lot_required.sql_format([t for t, in cursor]))],\n where=table.id == template_id)",
|
||||
"phase": "after_super",
|
||||
"condition": "table_h.table_exist(template_lot_type_table_name) and table_h.table_exist(lot_type_table_name)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -615,6 +615,30 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "ir",
|
||||
"file": "trigger.py",
|
||||
"class": "Trigger",
|
||||
"method": "__register__",
|
||||
"line": 93,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "column_rename",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 98,
|
||||
"args": [
|
||||
"name",
|
||||
"name + '_'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.column_rename(name, name + '_')",
|
||||
"phase": "before_super"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "ir",
|
||||
"file": "ui/view.py",
|
||||
|
||||
@@ -113,6 +113,37 @@
|
||||
"method": "__register__",
|
||||
"line": 825,
|
||||
"operations": [
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 834,
|
||||
"args": [
|
||||
"*table.update([table.type], [new], where=table.type == old)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.type], [new],\n where=table.type == old))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 834,
|
||||
"args": [
|
||||
"[table.type]",
|
||||
"[new]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.type == old"
|
||||
},
|
||||
"code": "table.update(\n [table.type], [new],\n where=table.type == old)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -615,6 +615,30 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "ir",
|
||||
"file": "trigger.py",
|
||||
"class": "Trigger",
|
||||
"method": "__register__",
|
||||
"line": 93,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "column_rename",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 98,
|
||||
"args": [
|
||||
"name",
|
||||
"name + '_'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.column_rename(name, name + '_')",
|
||||
"phase": "before_super"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "ir",
|
||||
"file": "ui/view.py",
|
||||
|
||||
@@ -113,6 +113,37 @@
|
||||
"method": "__register__",
|
||||
"line": 844,
|
||||
"operations": [
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 853,
|
||||
"args": [
|
||||
"*table.update([table.type], [new], where=table.type == old)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.type], [new],\n where=table.type == old))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 853,
|
||||
"args": [
|
||||
"[table.type]",
|
||||
"[new]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.type == old"
|
||||
},
|
||||
"code": "table.update(\n [table.type], [new],\n where=table.type == old)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
@@ -615,6 +615,30 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "ir",
|
||||
"file": "trigger.py",
|
||||
"class": "Trigger",
|
||||
"method": "__register__",
|
||||
"line": 92,
|
||||
"operations": [
|
||||
{
|
||||
"object": "table_h",
|
||||
"operation": "column_rename",
|
||||
"tables": [
|
||||
"ir_trigger"
|
||||
],
|
||||
"line": 97,
|
||||
"args": [
|
||||
"name",
|
||||
"name + '_'"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "table_h.column_rename(name, name + '_')",
|
||||
"phase": "before_super"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"module": "ir",
|
||||
"file": "ui/view.py",
|
||||
|
||||
@@ -113,6 +113,37 @@
|
||||
"method": "__register__",
|
||||
"line": 859,
|
||||
"operations": [
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 873,
|
||||
"args": [
|
||||
"*table.update([table.type], [new], where=table.type == old)"
|
||||
],
|
||||
"kwargs": {},
|
||||
"code": "(Transaction().connection.cursor()).execute(*table.update(\n [table.type], [new],\n where=table.type == old))",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "table",
|
||||
"operation": "update",
|
||||
"tables": [
|
||||
"party_identifier"
|
||||
],
|
||||
"line": 873,
|
||||
"args": [
|
||||
"[table.type]",
|
||||
"[new]"
|
||||
],
|
||||
"kwargs": {
|
||||
"where": "table.type == old"
|
||||
},
|
||||
"code": "table.update(\n [table.type], [new],\n where=table.type == old)",
|
||||
"phase": "after_super"
|
||||
},
|
||||
{
|
||||
"object": "cursor",
|
||||
"operation": "execute",
|
||||
|
||||
+114
-3
@@ -109,6 +109,15 @@ class RegisterExtractor(ast.NodeVisitor):
|
||||
# Klasse, in der wir uns gerade befinden (für cls._table etc.)
|
||||
self.current_class = None
|
||||
|
||||
# Name -> FunctionDef aller Methoden der aktuellen Klasse, um
|
||||
# Helper-Aufrufe aus __register__ heraus aufzulösen.
|
||||
self.class_methods = {}
|
||||
|
||||
# Aufruf-Kette der Helper-Methoden, in die wir gerade rekursiv
|
||||
# abgestiegen sind (für Zyklenschutz und die "via"-Provenienz
|
||||
# der gefundenen Operationen).
|
||||
self.call_chain = []
|
||||
|
||||
# -- Modul-/Klassenebene ------------------------------------------------
|
||||
|
||||
def visit_Module(self, node):
|
||||
@@ -124,9 +133,18 @@ class RegisterExtractor(ast.NodeVisitor):
|
||||
self.generic_visit(node)
|
||||
|
||||
def visit_ClassDef(self, node):
|
||||
# Alle Methoden der Klasse vormerken, damit __register__-Aufrufe an
|
||||
# eigene Helper-Methoden (z. B. `cls._migrate_x(module_name)`)
|
||||
# aufgelöst werden können.
|
||||
methods = {
|
||||
item.name: item
|
||||
for item in node.body
|
||||
if isinstance(item, (ast.FunctionDef, ast.AsyncFunctionDef))
|
||||
}
|
||||
|
||||
for item in node.body:
|
||||
if isinstance(item, ast.FunctionDef) and item.name == "__register__":
|
||||
self.extract_register(node.name, item)
|
||||
self.extract_register(node.name, item, methods)
|
||||
|
||||
self.generic_visit(node)
|
||||
|
||||
@@ -147,13 +165,18 @@ class RegisterExtractor(ast.NodeVisitor):
|
||||
|
||||
# -- __register__ selbst -------------------------------------------------
|
||||
|
||||
def extract_register(self, cls, func):
|
||||
def extract_register(self, cls, func, methods):
|
||||
"""Analysiert eine einzelne __register__-Methode."""
|
||||
operations = []
|
||||
self.table_vars = {}
|
||||
self.alias_vars = {}
|
||||
self.current_class = cls
|
||||
|
||||
# Für die Auflösung von Helper-Aufrufen (cls._migrate_x(...)) und
|
||||
# als Zyklenschutz während der Rekursion in solche Helper.
|
||||
self.class_methods = methods
|
||||
self.call_chain = []
|
||||
|
||||
model_name = self.model_names.get(cls)
|
||||
if model_name:
|
||||
self.table_vars["cls"] = model_name
|
||||
@@ -338,6 +361,13 @@ class RegisterExtractor(ast.NodeVisitor):
|
||||
`phase` wechselt von "before_super" auf "after_super", sobald der
|
||||
super().__register__(...)-Aufruf gefunden wird. `condition` trägt
|
||||
den Text einer umschließenden if-Bedingung mit, falls vorhanden.
|
||||
|
||||
Steigt dabei in ALLE geschachtelten Blöcke ab (if/for/while/with/
|
||||
try/except/finally), nicht nur in if. Aufrufe innerhalb einer
|
||||
for-Schleife, eines with-Blocks oder eines try/except wurden vorher
|
||||
stillschweigend übersprungen, weil nur ast.If speziell behandelt
|
||||
wurde und alle anderen Compound-Statements kein `.value`-Attribut
|
||||
besitzen.
|
||||
"""
|
||||
for stmt in statements:
|
||||
|
||||
@@ -351,10 +381,38 @@ class RegisterExtractor(ast.NodeVisitor):
|
||||
self.walk_statements(stmt.orelse, operations, phase, condition)
|
||||
continue
|
||||
|
||||
for body in self._nested_bodies(stmt):
|
||||
self.walk_statements(body, operations, phase, condition)
|
||||
|
||||
value = getattr(stmt, "value", None)
|
||||
if value is not None:
|
||||
self.walk_expression(value, operations, phase, condition)
|
||||
|
||||
@staticmethod
|
||||
def _nested_bodies(stmt):
|
||||
"""
|
||||
Liefert alle Statement-Listen, die direkt in `stmt` geschachtelt
|
||||
sind (außer bei ast.If, das walk_statements separat behandelt,
|
||||
weil dort zusätzlich die Bedingung mitgeführt wird).
|
||||
"""
|
||||
bodies = []
|
||||
|
||||
if isinstance(stmt, (ast.For, ast.AsyncFor, ast.While)):
|
||||
bodies.append(stmt.body)
|
||||
bodies.append(stmt.orelse)
|
||||
elif isinstance(stmt, (ast.With, ast.AsyncWith)):
|
||||
bodies.append(stmt.body)
|
||||
elif isinstance(stmt, ast.Try) or (
|
||||
hasattr(ast, "TryStar") and isinstance(stmt, ast.TryStar)
|
||||
):
|
||||
bodies.append(stmt.body)
|
||||
for handler in stmt.handlers:
|
||||
bodies.append(handler.body)
|
||||
bodies.append(stmt.orelse)
|
||||
bodies.append(stmt.finalbody)
|
||||
|
||||
return bodies
|
||||
|
||||
def walk_expression(self, node, operations, phase, condition):
|
||||
if node is None:
|
||||
return
|
||||
@@ -365,11 +423,64 @@ class RegisterExtractor(ast.NodeVisitor):
|
||||
op["phase"] = phase
|
||||
if condition:
|
||||
op["condition"] = condition
|
||||
if self.call_chain:
|
||||
op["via"] = [dict(entry) for entry in self.call_chain]
|
||||
operations.append(op)
|
||||
else:
|
||||
helper = self.resolve_helper_call(node)
|
||||
if helper:
|
||||
method_name, func_node = helper
|
||||
self.walk_into_helper(
|
||||
method_name, func_node, node.lineno, operations, phase, condition
|
||||
)
|
||||
|
||||
for child in ast.iter_child_nodes(node):
|
||||
self.walk_expression(child, operations, phase, condition)
|
||||
|
||||
def resolve_helper_call(self, node):
|
||||
"""
|
||||
Erkennt Aufrufe der Form `cls.<method>(...)` / `self.<method>(...)`
|
||||
an eine Methode, die in derselben Klasse definiert ist (z. B. eine
|
||||
ausgelagerte Migrationsmethode). Cross-Klassen-/Cross-Datei-Aufrufe
|
||||
werden bewusst nicht aufgelöst.
|
||||
"""
|
||||
if not isinstance(node.func, ast.Attribute):
|
||||
return None
|
||||
|
||||
receiver = node.func.value
|
||||
if not (isinstance(receiver, ast.Name) and receiver.id in ("cls", "self")):
|
||||
return None
|
||||
|
||||
method_name = node.func.attr
|
||||
if method_name == "__register__":
|
||||
return None
|
||||
|
||||
func_node = self.class_methods.get(method_name)
|
||||
if func_node is None:
|
||||
return None
|
||||
|
||||
return method_name, func_node
|
||||
|
||||
def walk_into_helper(self, method_name, func_node, call_line, operations, phase, condition):
|
||||
"""
|
||||
Steigt in eine Helper-Methode ab, als wäre ihr Körper an der
|
||||
Aufrufstelle inline eingefügt. Mit Zyklenschutz gegen (indirekt)
|
||||
rekursive Helper-Aufrufe.
|
||||
"""
|
||||
if any(entry["method"] == method_name for entry in self.call_chain):
|
||||
return
|
||||
|
||||
self.call_chain.append({"method": method_name, "line": call_line})
|
||||
|
||||
# Tabellen-Variablen, die lokal in der Helper-Methode definiert
|
||||
# werden (z. B. `table = cls.__table__()`), vorab einsammeln.
|
||||
for stmt in func_node.body:
|
||||
self.collect_table_assignment(stmt)
|
||||
|
||||
self.walk_statements(func_node.body, operations, phase, condition)
|
||||
|
||||
self.call_chain.pop()
|
||||
|
||||
def is_super_register(self, stmt):
|
||||
"""True für `super(...).__register__(...)` als eigenständiges Statement."""
|
||||
if not isinstance(stmt, ast.Expr):
|
||||
@@ -619,4 +730,4 @@ def main():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user