Przeglądaj źródła

add/drop index if index key not exists / exists

version-14
Nabin Hait 13 lat temu
rodzic
commit
c739cd54cb
1 zmienionych plików z 5 dodań i 5 usunięć
  1. +5
    -5
      py/webnotes/model/db_schema.py

+ 5
- 5
py/webnotes/model/db_schema.py Wyświetl plik

@@ -200,15 +200,15 @@ class DbTable:
webnotes.conn.sql("alter table `%s` change `%s` `%s` %s" % (self.name, col.fieldname, col.fieldname, col.get_definition()))

for col in self.add_index:
webnotes.conn.sql("alter table `%s` add index `%s`(`%s`)" % (self.name, col.fieldname, col.fieldname))
# if index key not exists
if not webnotes.conn.sql("show index from `%s` where key_name = `%s`" % (self.name, col.fieldname)):
webnotes.conn.sql("alter table `%s` add index `%s`(`%s`)" % (self.name, col.fieldname, col.fieldname))

for col in self.drop_index:
if col.fieldname != 'name': # primary key
try:
# if index key exists
if webnotes.conn.sql("show index from `%s` where key_name = `%s`" % (self.name, col.fieldname)):
webnotes.conn.sql("alter table `%s` drop index `%s`" % (self.name, col.fieldname))
except _mysql_exceptions.OperationalError, e:
if e[0] != 1091: raise e


for col in self.set_default:
webnotes.conn.sql("alter table `%s` alter column `%s` set default %s" % (self.name, col.fieldname, '%s'), col.default)


Ładowanie…
Anuluj
Zapisz