From bdb3a9ca776b1131d9a3175d510de98dc28dc392 Mon Sep 17 00:00:00 2001 From: mreficent Date: Fri, 9 Nov 2018 17:27:01 +0100 Subject: [PATCH] [FIX] stock_removal_by_priority: avoid pre-init-hook if reinstalled --- .../init_hook.py | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/stock_removal_location_by_priority/init_hook.py b/stock_removal_location_by_priority/init_hook.py index 5b2be5faf..3774c1680 100644 --- a/stock_removal_location_by_priority/init_hook.py +++ b/stock_removal_location_by_priority/init_hook.py @@ -19,18 +19,30 @@ def pre_init_hook(cr): def set_stock_location_removal_priority_default(cr): - cr.execute( - """ - ALTER TABLE stock_location - ADD COLUMN removal_priority integer - DEFAULT 10; - """) + cr.execute("""SELECT column_name + FROM information_schema.columns + WHERE table_name='stock_location' AND + column_name='removal_priority'""") + if not cr.fetchone(): + logger.info('Creating field removal_priority on stock_location') + cr.execute( + """ + ALTER TABLE stock_location + ADD COLUMN removal_priority integer + DEFAULT 10; + """) def set_stock_quant_removal_priority_default(cr): - cr.execute( - """ - ALTER TABLE stock_quant - ADD COLUMN removal_priority integer - DEFAULT 10; - """) + cr.execute("""SELECT column_name + FROM information_schema.columns + WHERE table_name='stock_quant' AND + column_name='removal_priority'""") + if not cr.fetchone(): + logger.info('Creating field removal_priority on stock_quant') + cr.execute( + """ + ALTER TABLE stock_quant + ADD COLUMN removal_priority integer + DEFAULT 10; + """)