Drop constraint when is postgres

This commit is contained in:
Raimon Esteve 2022-12-07 16:07:36 +01:00
parent 78a885d986
commit 28c2b8a9dd
1 changed files with 19 additions and 19 deletions

38
bank.py
View File

@ -33,25 +33,6 @@ class BankAccount(metaclass=PoolMeta):
def search_companies(cls, name, clause):
return [('bank.party.companies',) + tuple(clause[1:])]
class BankAccountNumber(metaclass=PoolMeta):
__name__ = 'bank.account.number'
@classmethod
def __register__(cls, module_name):
cursor = Transaction().connection.cursor()
# since issue11198 fill or create bank from IBAN and enforce uniqueness
# replace default sql_constrain (keep same name) that always return false
exist = backend.TableHandler.table_exist(cls._table)
if exist:
cursor.execute("ALTER TABLE bank_account_number DROP CONSTRAINT "
"IF EXISTS bank_account_number_number_iban_exclude")
cursor.execute("ALTER table bank_account_number add constraint "
"bank_account_number_number_iban_exclude check (type != 'x')")
super(BankAccountNumber, cls).__register__(module_name)
@classmethod
def get_owners_by_companies(cls, records, name):
PartyCompany = Pool().get('party.company.rel')
@ -79,3 +60,22 @@ class BankAccountNumber(metaclass=PoolMeta):
@classmethod
def set_owners_by_companies(cls, records, name, value):
cls.write(records, {'owners': value})
class BankAccountNumber(metaclass=PoolMeta):
__name__ = 'bank.account.number'
@classmethod
def __register__(cls, module_name):
cursor = Transaction().connection.cursor()
# since issue11198 fill or create bank from IBAN and enforce uniqueness
# replace default sql_constrain (keep same name) that always return false
exist = backend.TableHandler.table_exist(cls._table)
if exist and backend.name == 'postgresql':
cursor.execute("ALTER TABLE bank_account_number DROP CONSTRAINT "
"IF EXISTS bank_account_number_number_iban_exclude")
cursor.execute("ALTER table bank_account_number add constraint "
"bank_account_number_number_iban_exclude check (type != 'x')")
super(BankAccountNumber, cls).__register__(module_name)