OCA reporting engine fork for dev and update.
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.
|
|
# -*- coding: utf-8 -*- # Copyright 2018 Simone Rubino - Agile Business Group # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openupgradelib.openupgrade import logged_query, migrate import json
@migrate() def migrate(env, version): cr = env.cr convert_text_to_serialized( cr, env['bve.view']._table, env['bve.view']._fields['data'].name) pass
def convert_text_to_serialized( cr, table, text_field_name, serialized_field_name=None): """
Convert Text field value to Serialized value. """
if not serialized_field_name: serialized_field_name = text_field_name select_query = """
SELECT id, %(text_field_name)s FROM %(table)s WHERE %(text_field_name)s IS NOT NULL """
cr.execute( select_query % { 'text_field_name': text_field_name, 'table': table, } ) update_query = """
UPDATE %(table)s SET %(serialized_field_name)s = %%(field_value)s WHERE id = %(record_id)d """
for row in cr.fetchall(): # Fill in the field_value later because it needs escaping row_update_query = update_query % { 'serialized_field_name': serialized_field_name, 'table': table, 'record_id': row[0]} logged_query( cr, row_update_query, { 'field_value': json.dumps(row[1]) })
|