From 5d57a7f5809f634376008cefb837dfa6cc83fc16 Mon Sep 17 00:00:00 2001 From: "Ronald Portier (Therp BV)" Date: Thu, 26 Nov 2015 18:12:19 +0100 Subject: [PATCH 1/2] [FIX] Issue #228 Error when table to be migrated does not exist. --- .../migrations/0.2/post-consolidation.py | 55 +++++++++++-------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py b/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py index fdc280095..1056c46ef 100644 --- a/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py +++ b/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py @@ -17,7 +17,6 @@ # along with this program. If not, see . # ############################################################################## - """ This script covers the migration of the 0.1 to 0.2 version of sepa mandates. As table names changed, we want to migrate values from sdd_mandate table to @@ -35,26 +34,38 @@ def migrate(cr, installed_version): if not installed_version: return - query = "INSERT INTO account_banking_mandate " \ - "(id, create_uid, create_date, write_date, write_uid, "\ - "partner_bank_id, last_debit_date, scan, company_id, state, "\ - "unique_mandate_reference, signature_date, sepa_migrated, "\ + def table_exists(cr, table): + cr.execute( + "SELECT 1 FROM information_schema.tables" + " WHERE table_name='%s' LIMIT 1;" % table + ) + return cr.fetchall() and True or False + + if table_exists(cr, 'sdd_mandate'): + query = ( + "INSERT INTO account_banking_mandate " + "(id, create_uid, create_date, write_date, write_uid, " + "partner_bank_id, last_debit_date, scan, company_id, state, " + "unique_mandate_reference, signature_date, sepa_migrated, " + "original_mandate_identification, recurrent_sequence_type, type, " + "scheme) " + "SELECT id, create_uid, create_date, write_date, write_uid, " + "partner_bank_id, last_debit_date, scan, company_id, state, " + "unique_mandate_reference, signature_date, sepa_migrated, " "original_mandate_identification, recurrent_sequence_type, type, "\ - "scheme) "\ - "SELECT id, create_uid, create_date, write_date, write_uid, " \ - "partner_bank_id, last_debit_date, scan, company_id, state, " \ - "unique_mandate_reference, signature_date, sepa_migrated, " \ - "original_mandate_identification, recurrent_sequence_type, type, "\ - "'CORE' "\ + "'CORE' " "FROM sdd_mandate" - cr.execute(query) - query2 = "UPDATE account_invoice SET mandate_id=sdd_mandate_id" - cr.execute(query2) - query3 = "UPDATE payment_line SET mandate_id=sdd_mandate_id" - cr.execute(query3) - query4 = "ALTER TABLE account_invoice DROP COLUMN IF EXISTS sdd_mandate_id" - cr.execute(query4) - query5 = "ALTER TABLE payment_line DROP COLUMN IF EXISTS sdd_mandate_id" - cr.execute(query5) - query6 = "DROP TABLE IF EXISTS sdd_mandate CASCADE" - cr.execute(query6) + ) + cr.execute(query) + query2 = "UPDATE account_invoice SET mandate_id=sdd_mandate_id" + cr.execute(query2) + query3 = "UPDATE payment_line SET mandate_id=sdd_mandate_id" + cr.execute(query3) + query4 = \ + "ALTER TABLE account_invoice DROP COLUMN IF EXISTS sdd_mandate_id" + cr.execute(query4) + query5 = \ + "ALTER TABLE payment_line DROP COLUMN IF EXISTS sdd_mandate_id" + cr.execute(query5) + query6 = "DROP TABLE IF EXISTS sdd_mandate CASCADE" + cr.execute(query6) From 20f5510cef80b601d54eda3520409e963ff58dad Mon Sep 17 00:00:00 2001 From: "Ronald Portier (Therp BV)" Date: Wed, 2 Mar 2016 13:14:27 +0100 Subject: [PATCH 2/2] [FIX] Flake8 improvements after review. --- .../migrations/0.2/post-consolidation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py b/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py index 1056c46ef..9555a7f80 100644 --- a/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py +++ b/account_banking_sepa_direct_debit/migrations/0.2/post-consolidation.py @@ -34,7 +34,7 @@ def migrate(cr, installed_version): if not installed_version: return - def table_exists(cr, table): + def table_exists(cr, table): cr.execute( "SELECT 1 FROM information_schema.tables" " WHERE table_name='%s' LIMIT 1;" % table @@ -52,7 +52,7 @@ def migrate(cr, installed_version): "SELECT id, create_uid, create_date, write_date, write_uid, " "partner_bank_id, last_debit_date, scan, company_id, state, " "unique_mandate_reference, signature_date, sepa_migrated, " - "original_mandate_identification, recurrent_sequence_type, type, "\ + "original_mandate_identification, recurrent_sequence_type, type, " "'CORE' " "FROM sdd_mandate" )