You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
# Copyright 2020 Camptocamp SA
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
import logging
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
def pre_init_hook(cr):
|
|
"""Create column using SQL to avoid auto-init updating the table row by row
|
|
:param odoo.sql_db.Cursor cr:
|
|
Database cursor.
|
|
"""
|
|
_logger.info("Creating res.company.partner_ref_unique column")
|
|
cr.execute("ALTER TABLE res_company ADD partner_ref_unique varchar NULL;")
|
|
cr.execute(
|
|
"COMMENT ON COLUMN public.res_company.partner_ref_unique "
|
|
"IS 'Unique partner reference for';"
|
|
)
|
|
cr.execute(
|
|
"UPDATE res_company SET partner_ref_unique = 'none';"
|
|
)
|
|
_logger.info(
|
|
"Creating res.partner.partner_ref_unique column with value from "
|
|
"res.company"
|
|
)
|
|
cr.execute("ALTER TABLE res_partner ADD partner_ref_unique varchar NULL;")
|
|
cr.execute(
|
|
"COMMENT ON COLUMN res_partner.partner_ref_unique "
|
|
"IS 'Unique partner reference for';"
|
|
)
|
|
cr.execute(
|
|
"UPDATE res_partner rp "
|
|
"SET partner_ref_unique = rc.partner_ref_unique "
|
|
"FROM res_company rc "
|
|
"WHERE rc.id = rp.company_id;"
|
|
)
|