def migrate_tracking_source(cr): # see above cr.execute('alter table utm_source add column crm_tracking_source_id int') cr.execute('insert into utm_source (name, crm_tracking_source_id) ' 'select name, id from crm_tracking_source') openupgrade.lift_constraints(cr, 'crm_lead', 'source_id') cr.execute('update crm_lead set source_id=s.id ' 'from utm_source s where crm_tracking_source_id=source_id')
def migrate_tracking_medium(cr): # see above cr.execute('alter table utm_medium add column crm_tracking_medium_id int') cr.execute('insert into utm_medium (name, active, crm_tracking_medium_id) ' 'select name, active, id from crm_tracking_medium') openupgrade.lift_constraints(cr, 'crm_lead', 'medium_id') cr.execute('update crm_lead set medium_id=m.id ' 'from utm_medium m where crm_tracking_medium_id=medium_id')
def migrate(env, version): openupgrade.rename_tables(env.cr, _table_renames) # Remove FKs on old relations for avoiding further problems openupgrade.lift_constraints(env.cr, _table_renames[0][1], "move_id") openupgrade.lift_constraints( env.cr, "account_invoice_stock_picking_rel", "picking_id" ) # Add temporary table for avoiding the automatic launch of the compute method openupgrade.logged_query( env.cr, "CREATE TABLE account_move_stock_picking_rel (temp INTEGER)", )
def migrate_tracking_campaign(cr): # we can't simply rename the table because it's already created when # installing utm. There's also a (quite academic) chance that it contains # more than demo data cr.execute( 'alter table utm_campaign add column crm_tracking_campaign_id int') cr.execute('insert into utm_campaign (name, crm_tracking_campaign_id) ' 'select name, id from crm_tracking_campaign') openupgrade.lift_constraints(cr, 'crm_lead', 'campaign_id') cr.execute( 'update crm_lead set campaign_id=c.id ' 'from utm_campaign c where crm_tracking_campaign_id=campaign_id')
def correct_object_references(cr): """Point sale order and stock picking to grid records (that will be renamed as carrier objects).""" openupgrade.lift_constraints(cr, 'sale_order', 'carrier_id') openupgrade.logged_query( cr, """ UPDATE sale_order so SET carrier_id = dg.id FROM delivery_grid dg, delivery_carrier dc WHERE dg.carrier_id = dc.id AND so.carrier_id = dc.id """, ) openupgrade.lift_constraints(cr, 'stock_picking', 'carrier_id') openupgrade.logged_query( cr, """ UPDATE stock_picking sp SET carrier_id = dg.id FROM delivery_grid dg, delivery_carrier dc WHERE dg.carrier_id = dc.id AND sp.carrier_id = dc.id """, )
def drop_obsolete_fk_constraints(env): """We remove the constraints on wizard_multi_charts_accounts to avoid not null error if account chart changed and account template has been removed. For exemple l10n_fr.pcg_58 has been removed between 11.0 and 12.0 and is used as default transfer_account_id. Note : wizard_multi_charts_accounts is an obsolete table. Model has been removed in V12.0 """ openupgrade.remove_tables_fks(env.cr, [ 'wizard_multi_charts_accounts', 'account_aged_trial_balance', 'account_aged_trial_balance_account_journal_rel', 'account_balance_report', 'account_balance_report_journal_rel', 'account_bank_accounts_wizard', 'account_common_account_report', 'account_common_partner_report', 'account_financial_report', 'accounting_report', 'account_move_line_reconcile', 'account_move_line_reconcile_writeoff', 'account_opening', 'account_report_general_ledger', 'account_report_general_ledger_journal_rel', 'account_report_partner_ledger', 'account_tax_report', ]) # also, we lift some obsolete fk constraints from mny2ones openupgrade.lift_constraints(env.cr, "account_chart_template", "transfer_account_id") openupgrade.lift_constraints(env.cr, "account_chart_template", "company_id") openupgrade.lift_constraints(env.cr, "account_tax_template", "company_id")
def migrate(env, version): openupgrade.copy_columns(env.cr, _column_copies) if openupgrade.column_exists(env.cr, 'sale_order', 'payment_tx_id'): # from sale_payment module openupgrade.rename_columns(env.cr, _column_renames) rename_sale_payment_config_parameters(env.cr, _config_param_renames) openupgrade.lift_constraints(env.cr, "sale_order", "payment_tx_id") openupgrade.lift_constraints(env.cr, "sale_order ", "payment_acquirer_id") openupgrade.lift_constraints(env.cr, "payment_transaction ", "sale_order_id") if openupgrade.column_exists(env.cr, 'sale_order', 'requested_date'): # from sale_order_dates module openupgrade.rename_fields(env, _field_renames_order_dates) if openupgrade.table_exists(env.cr, 'sale_quote_line'): # from website_quote module openupgrade.rename_columns(env.cr, _column_renames2) fill_sale_order_line_sections(env.cr) openupgrade.logged_query( env.cr, "ALTER TABLE sale_order_line ADD COLUMN qty_delivered_method varchar", ) openupgrade.logged_query( env.cr, "ALTER TABLE sale_order_line ADD COLUMN untaxed_amount_invoiced " "NUMERIC") openupgrade.logged_query( env.cr, "ALTER TABLE sale_order_line ADD COLUMN untaxed_amount_to_invoice " "NUMERIC")
def delete_fk_constraints(env): """Avoid errors on automatic data removal after updating due to dangling references on these old columns. """ openupgrade.lift_constraints(env.cr, "account_tax_template", "account_id") openupgrade.lift_constraints(env.cr, "account_tax_template", "cash_basis_account") openupgrade.lift_constraints(env.cr, "account_tax_template", "refund_account_id")
def migrate(env, version): openupgrade.lift_constraints(env.cr, "digest_digest", "template_id")
def lift_fk_constrains_deleted_many2ones(cr): # deleted fields openupgrade.lift_constraints(cr, "barcode_nomenclature", "barcode_nomenclature_id") openupgrade.lift_constraints(cr, "stock_warehouse", "default_resupply_wh_id")