Manage renamed move_type column

OpenUpgrade renames the column to its legacy name.
Enterprise renames to move_type_custom.
This commit is contained in:
SimoRubi
2021-04-16 16:00:51 +02:00
committed by Borruso
parent 78617e5663
commit 81c9a3aa8b
2 changed files with 35 additions and 26 deletions

View File

@@ -1,17 +1,31 @@
# Copyright 2020 Ozono Multimedia S.L.L.
# Copyright 2021 Simone Rubino - Agile Business Group
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openupgradelib import openupgrade
field_renames = [
(
"account.move",
"account_move",
"move_type",
"financial_type",
),
]
@openupgrade.migrate()
def migrate(env, version):
openupgrade.rename_fields(env, field_renames)
"""
Column `move_type` of table `account_move` has been renamed to `financial_type`
because `move_type` is now used by the core,
so the column is moved during migration of module `account` in the core.
Enterprise renames it to `move_type_custom`;
OpenUpgrade renames it to its legacy name.
Move data from the renamed column to the new `financial_type` column.
"""
old_move_type_column = "move_type"
new_move_type_column = "financial_type"
move_table_name = "account_move"
enterprise_move_type_rename = "move_type_custom"
ou_move_type_rename = openupgrade.get_legacy_name(old_move_type_column)
for move_type_rename in (enterprise_move_type_rename, ou_move_type_rename):
if openupgrade.column_exists(env.cr, move_table_name, move_type_rename):
openupgrade.rename_columns(
env.cr,
{
move_table_name: [(move_type_rename, new_move_type_column)],
},
)
break