88_logger = logging .getLogger (__name__ )
99
1010
11- @openupgrade .migrate ()
12- def migrate (env , version ):
13- """
14- set recurring_next_date to false for finished contract
15- """
16- _logger .info (">> Pre-Migration 12.0.2.0.0" )
11+ def _set_finished_contract (cr ):
1712 _logger .info ("set recurring_next_date to false for finished contract" )
18- cr = env .cr
1913 openupgrade .logged_query (
2014 cr ,
2115 """
@@ -25,6 +19,8 @@ def migrate(env, version):
2519 """ ,
2620 )
2721
22+
23+ def _move_contract_recurrence_info_to_contract_line (cr ):
2824 _logger .info ("Move contract data to line level" )
2925 openupgrade .logged_query (
3026 cr ,
@@ -56,3 +52,43 @@ def migrate(env, version):
5652 contract.id=contract_line.analytic_account_id
5753 """ ,
5854 )
55+
56+
57+ def _move_contract_template_recurrence_info_to_contract_template_line (cr ):
58+ _logger .info ("Move contract template data to line level" )
59+ openupgrade .logged_query (
60+ cr ,
61+ """
62+ ALTER TABLE account_analytic_contract_line
63+ ADD COLUMN IF NOT EXISTS recurring_rule_type VARCHAR(255),
64+ ADD COLUMN IF NOT EXISTS recurring_invoicing_type VARCHAR(255),
65+ ADD COLUMN IF NOT EXISTS recurring_interval INTEGER,
66+ """ ,
67+ )
68+
69+ openupgrade .logged_query (
70+ cr ,
71+ """
72+ UPDATE account_analytic_contract_line AS contract_template_line
73+ SET
74+ recurring_rule_type=contract_template.recurring_rule_type,
75+ recurring_invoicing_type=contract_template.recurring_invoicing_type,
76+ recurring_interval=contract_template.recurring_interval
77+ FROM
78+ account_analytic_contract AS contract_template
79+ WHERE
80+ contract_template.id=contract_template_line.contract_id
81+ """ ,
82+ )
83+
84+
85+ @openupgrade .migrate ()
86+ def migrate (env , version ):
87+ """
88+ set recurring_next_date to false for finished contract
89+ """
90+ _logger .info (">> Pre-Migration 12.0.2.0.0" )
91+ cr = env .cr
92+ _set_finished_contract (cr )
93+ _move_contract_recurrence_info_to_contract_line (cr )
94+ _move_contract_template_recurrence_info_to_contract_template_line (cr )
0 commit comments