|
|
@@ -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) |
|
|
|