Drop constraint when is postgres
This commit is contained in:
parent
78a885d986
commit
28c2b8a9dd
38
bank.py
38
bank.py
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue