diff --git a/product_sale_price_from_pricelist/migrations/18.0.2.1.0/pre-migrate.py b/product_sale_price_from_pricelist/migrations/18.0.2.1.0/post-migrate.py similarity index 82% rename from product_sale_price_from_pricelist/migrations/18.0.2.1.0/pre-migrate.py rename to product_sale_price_from_pricelist/migrations/18.0.2.1.0/post-migrate.py index 447a730..e80125a 100644 --- a/product_sale_price_from_pricelist/migrations/18.0.2.1.0/pre-migrate.py +++ b/product_sale_price_from_pricelist/migrations/18.0.2.1.0/post-migrate.py @@ -21,6 +21,24 @@ def migrate(cr, version): _logger.info("Migrating price fields from product.template to product.product...") + # Check if columns exist before attempting migration + # (they may not exist in fresh installations) + cr.execute(""" + SELECT EXISTS ( + SELECT FROM information_schema.columns + WHERE table_name = 'product_product' + AND column_name = 'last_purchase_price_received' + ); + """) + columns_exist = cr.fetchone()[0] + + if not columns_exist: + _logger.info( + "Columns do not exist in product_product, skipping migration. " + "Fresh installation detected." + ) + return + # Migrate last_purchase_price_received cr.execute(""" UPDATE product_product pp