diff --git a/frappe/database/postgres/database.py b/frappe/database/postgres/database.py index 3547907e58..d5495c6879 100644 --- a/frappe/database/postgres/database.py +++ b/frappe/database/postgres/database.py @@ -318,7 +318,7 @@ class PostgresDatabase(Database): indexdef NOT LIKE '%UNIQUE INDEX%' AS index FROM pg_indexes WHERE tablename='{table_name}') b - ON SUBSTRING(b.indexdef, '\(.*\)') LIKE CONCAT('%', a.column_name, '%') + ON SUBSTRING(b.indexdef, '(.*)') LIKE CONCAT('%', a.column_name, '%') WHERE a.table_name = '{table_name}' GROUP BY a.column_name, a.data_type, a.column_default, a.character_maximum_length; '''.format(table_name=table_name), as_dict=1) diff --git a/frappe/database/postgres/schema.py b/frappe/database/postgres/schema.py index a7c96a5532..6c40a4e91d 100644 --- a/frappe/database/postgres/schema.py +++ b/frappe/database/postgres/schema.py @@ -104,18 +104,20 @@ class PostgresTable(DBTable): try: if query: final_alter_query = "ALTER TABLE `{}` {}".format(self.table_name, ", ".join(query)) - if final_alter_query: frappe.db.sql(final_alter_query) - if create_contraint_query: frappe.db.sql(create_contraint_query) - if drop_contraint_query: frappe.db.sql(drop_contraint_query) + frappe.db.sql(final_alter_query) + if create_contraint_query: + frappe.db.sql(create_contraint_query) + if drop_contraint_query: + frappe.db.sql(drop_contraint_query) except Exception as e: # sanitize if frappe.db.is_duplicate_fieldname(e): frappe.throw(str(e)) elif frappe.db.is_duplicate_entry(e): fieldname = str(e).split("'")[-2] - frappe.throw(_("""{0} field cannot be set as unique in {1}, - as there are non-unique existing values""".format( - fieldname, self.table_name))) - raise e + frappe.throw( + _("{0} field cannot be set as unique in {1}, as there are non-unique existing values") + .format(fieldname, self.table_name) + ) else: raise e