tryton-upgrades/after/migrate_supply_on_sale.py

46 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python
import sys
dbname = sys.argv[1]
config_file = sys.argv[2]
from trytond.config import config as CONFIG
CONFIG.update_etc(config_file)
from trytond.pool import Pool
from trytond.transaction import Transaction
from trytond.model.modelstorage import DomainValidationError
import logging
Pool.start()
pool = Pool(dbname)
pool.init()
context = {}
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
logger.addHandler(ch)
with Transaction().start(dbname, 0, context=context) as transaction:
Template = pool.get('product.template')
Company = pool.get('company.company')
cursor = transaction.connection.cursor()
companys = Company.search([])
query = 'SELECT id FROM product_template WHERE _temp_supply_on_sale = True;'
cursor.execute(query)
templates = cursor.fetchall()
to_save = []
for company in companys:
for template in templates:
query = "insert into product_template_supply_on_sale (template, company, supply_on_sale) values (%s, %s, 'always')" % (template[0], company.id)
cursor.execute(query)
transaction.commit()