diff --git a/frappe/database/postgres/database.py b/frappe/database/postgres/database.py index 78df54a48a..a40c48c4c8 100644 --- a/frappe/database/postgres/database.py +++ b/frappe/database/postgres/database.py @@ -261,11 +261,11 @@ class PostgresDatabase(Database): def add_index(self, doctype, fields, index_name=None): """Creates an index with given fields if not already created. Index name will be `fieldname1_fieldname2_index`""" + table_name = get_table_name(doctype) index_name = index_name or self.get_index_name(fields) - table_name = 'tab' + doctype - fields_str = re.sub(r"\(.*\)", "", '", "'.join(fields)) - self.commit() - self.sql(f'CREATE INDEX IF NOT EXISTS "{index_name}" ON `{table_name}`("{fields_str}")') + fields_str = '", "'.join(re.sub(r"\(.*\)", "", field) for field in fields) + + self.sql_ddl(f'CREATE INDEX IF NOT EXISTS "{index_name}" ON `{table_name}` ("{fields_str}")') def add_unique(self, doctype, fields, constraint_name=None): if isinstance(fields, str):