From 2a53007c2ca0c653ed4fd359d1438d82e593309a Mon Sep 17 00:00:00 2001 From: Jordi Ballester Date: Sun, 6 Mar 2022 19:23:46 +0100 Subject: [PATCH] [FIX] account_move_line_sale_info: adjust migration script In v14 the account.move has the stock_move_id in standard, so we should make use of it. --- account_move_line_sale_info/hooks.py | 15 ++++++++++++- .../migrations/14.0.1.0.2/pre-migration.py | 21 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 account_move_line_sale_info/migrations/14.0.1.0.2/pre-migration.py diff --git a/account_move_line_sale_info/hooks.py b/account_move_line_sale_info/hooks.py index 86fb30877..d48fa41f5 100644 --- a/account_move_line_sale_info/hooks.py +++ b/account_move_line_sale_info/hooks.py @@ -12,7 +12,20 @@ def post_init_hook(cr, registry): FROM account_move_line aml2 INNER JOIN stock_move sm ON aml2.stock_move_id = sm.id - WHERE aml.id = aml2.id; + WHERE aml.id = aml2.id + AND sm.sale_line_id IS NOT NULL; + """ + ) + cr.execute( + """ + UPDATE account_move_line aml SET sale_line_id = sm.sale_line_id + FROM account_move_line aml2 + INNER JOIN account_move am + ON am.id = aml2.move_id + INNER JOIN stock_move sm ON + am.stock_move_id = sm.id + WHERE aml.id = aml2.id + AND sm.sale_line_id IS NOT NULL; """ ) # FOR invoices diff --git a/account_move_line_sale_info/migrations/14.0.1.0.2/pre-migration.py b/account_move_line_sale_info/migrations/14.0.1.0.2/pre-migration.py new file mode 100644 index 000000000..7395950c4 --- /dev/null +++ b/account_move_line_sale_info/migrations/14.0.1.0.2/pre-migration.py @@ -0,0 +1,21 @@ +# Copyright 2022 ForgeFlow, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import logging + +_logger = logging.getLogger(__name__) + + +def migrate(cr, version): + _logger.info("Update account move lines with sale order line") + cr.execute( + """ + UPDATE account_move_line aml SET sale_line_id = sm.sale_line_id + FROM account_move_line aml2 + INNER JOIN account_move am + ON am.id = aml2.move_id + INNER JOIN stock_move sm ON + am.stock_move_id = sm.id + WHERE aml.id = aml2.id + AND sm.sale_line_id IS NOT NULL; + """ + )