mirror of
https://github.com/OCA/intrastat-extrastat.git
synced 2025-02-16 17:13:41 +02:00
[OU-ADD] intrastat_base: Migration scripts
Handle the change from boolean to selection on `instrastat` field in account.fiscal.position. TT49367
This commit is contained in:
28
intrastat_base/migrations/16.0.1.0.0/post-migration.py
Normal file
28
intrastat_base/migrations/16.0.1.0.0/post-migration.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 2024 Tecnativa - Pedro M. Baeza
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from openupgradelib import openupgrade
|
||||
|
||||
|
||||
@openupgrade.migrate()
|
||||
def migrate(env, version):
|
||||
# Set proper values for new selection field
|
||||
old_column = openupgrade.get_legacy_name("intrastat")
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
UPDATE account_fiscal_position
|
||||
SET intrastat = CASE
|
||||
WHEN NOT {old_column} THEN 'no'
|
||||
ELSE 'b2b' END
|
||||
""",
|
||||
)
|
||||
# Propagate proper values to the related field
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
"""
|
||||
UPDATE account_move am
|
||||
SET intrastat_fiscal_position = afp.intrastat
|
||||
FROM account_fiscal_position afp
|
||||
WHERE afp.id = am.fiscal_position_id
|
||||
""",
|
||||
)
|
||||
10
intrastat_base/migrations/16.0.1.0.0/pre-migration.py
Normal file
10
intrastat_base/migrations/16.0.1.0.0/pre-migration.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# Copyright 2024 Tecnativa - Pedro M. Baeza
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from openupgradelib import openupgrade
|
||||
|
||||
|
||||
@openupgrade.migrate()
|
||||
def migrate(env, version):
|
||||
openupgrade.rename_columns(
|
||||
env.cr, {"account_fiscal_position": [("intrastat", None)]}
|
||||
)
|
||||
Reference in New Issue
Block a user