From 998d6893253bfa1233e2f3d422d6e336d0b2184e Mon Sep 17 00:00:00 2001 From: Cristian Moncho Date: Wed, 22 Nov 2017 15:54:55 +0100 Subject: [PATCH] [FIX] sale_order_type: avoid exceptions in migration 8.0.1.1.0 Fixes a rare corner case where 'sale_type' field might not exist. --- .../migrations/8.0.1.1.0/pre-migration.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sale_order_type/migrations/8.0.1.1.0/pre-migration.py b/sale_order_type/migrations/8.0.1.1.0/pre-migration.py index 12496a7ddd2..c5a4e932377 100644 --- a/sale_order_type/migrations/8.0.1.1.0/pre-migration.py +++ b/sale_order_type/migrations/8.0.1.1.0/pre-migration.py @@ -2,13 +2,24 @@ # Copyright 2017 Lorenzo Battistini - Agile Business Group # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import SUPERUSER_ID from datetime import datetime +import logging + +from openerp import SUPERUSER_ID + +_logger = logging.getLogger(__name__) def migrate(cr, version): if not version: return + cr.execute(""" + SELECT 1 FROM information_schema.columns + WHERE table_name=%s and column_name=%s; + """, ('res_partner', 'sale_type')) + if not cr.rowcount: + _logger.error("Can't find 'sale_type' field, skipping...") + return cr.execute( "SELECT id, sale_type FROM res_partner WHERE sale_type IS NOT NULL") partners = cr.fetchall()