From 769715233fe38a1178223f16e6e00665e42b0b2a Mon Sep 17 00:00:00 2001 From: Nguyen Minh Chien Date: Tue, 12 May 2026 14:50:56 +0700 Subject: [PATCH] [UPD] F#T67659 - Prepare data in foodcoop12 database to save migration time. --- .../scripts/account/17.0.1.2/pre-migration.py | 29 ++++++++++++++----- .../scripts/stock/17.0.1.1/pre-migration.py | 16 +++++++++- 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py b/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py index bcd7803a2676..ad310a6e9af9 100644 --- a/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py +++ b/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py @@ -197,20 +197,35 @@ def _pre_create_early_pay_discount_computation(env): def _pre_account_move_line_invoice_date_computation(env): """Avoid triggering the computed method""" - openupgrade.logged_query( - env.cr, - """ - ALTER TABLE account_move_line - ADD COLUMN IF NOT EXISTS invoice_date DATE; - """, + has_mig18_invoice_date = openupgrade.column_exists( + env.cr, "account_move_line", "mig18_invoice_date" ) + if has_mig18_invoice_date: + if not openupgrade.column_exists(env.cr, "account_move_line", "invoice_date"): + openupgrade.logged_query( + env.cr, + """ + ALTER TABLE account_move_line + RENAME COLUMN mig18_invoice_date TO invoice_date; + """, + ) + return + else: + openupgrade.logged_query( + env.cr, + """ + ALTER TABLE account_move_line + ADD COLUMN IF NOT EXISTS invoice_date DATE; + """, + ) openupgrade.logged_query( env.cr, """ UPDATE account_move_line aml SET invoice_date = am.invoice_date FROM account_move am - WHERE am.invoice_date IS NOT NULL AND aml.move_id = am.id; + WHERE am.invoice_date IS NOT NULL AND aml.move_id = am.id + ; """, ) diff --git a/openupgrade_scripts/scripts/stock/17.0.1.1/pre-migration.py b/openupgrade_scripts/scripts/stock/17.0.1.1/pre-migration.py index 964dcfe841af..574eb7bbe2e0 100644 --- a/openupgrade_scripts/scripts/stock/17.0.1.1/pre-migration.py +++ b/openupgrade_scripts/scripts/stock/17.0.1.1/pre-migration.py @@ -75,7 +75,21 @@ def prefill_picked(env): @openupgrade.migrate() def migrate(env, version): + column_copies = _column_copies + has_mig18_quantity = openupgrade.column_exists( + env.cr, "stock_move_line", "mig18_quantity" + ) + if has_mig18_quantity: + column_copies = {} + if not openupgrade.column_exists(env.cr, "stock_move_line", "quantity"): + openupgrade.logged_query( + env.cr, + """ + ALTER TABLE stock_move_line + RENAME COLUMN mig18_quantity TO quantity + """, + ) openupgrade.rename_fields(env, _field_renames) - openupgrade.copy_columns(env.cr, _column_copies) + openupgrade.copy_columns(env.cr, column_copies) fix_move_line_quantity(env) prefill_picked(env)