def index_ddl(tables, engine, drop=False): output = [] for table in tables: for index in table.indexes: if not drop: ddl = CreateIndex(index) else: ddl = DropIndex(index) output.append(str(ddl.compile(dialect=engine.dialect)).strip()) output.append(';\n\n') return output
def index_ddl(tables, engine, drop=False): output = [] for table in tables: indexes = sorted(list(table.indexes), key=lambda k: k.name, reverse=drop) for index in indexes: if not drop: ddl = CreateIndex(index) else: ddl = DropIndex(index) output.append(str(ddl.compile(dialect=engine.dialect)).strip()) output.append(';\n\n') return output
def create_table_indexes_ddl(tableObj, engine, debug_level=-1): ddl_text = '' indexes = sorted(list(tableObj.indexes), key=lambda k: k.name, reverse=False) for index in indexes: ddl_obj = CreateIndex(index) try: ddl_string = str(ddl_obj.compile(dialect=engine.dialect)).strip() except Exception as e: # if e.message.find('it has no name')<0: # print(e) ddl_string = '' if ddl_string: if not ddl_text: ddl_text = ddl_string else: ddl_text = ddl_text + '\n' + ddl_string ddl_string = ddl_text if int(debug_level) > 0: msg = f"table [[{tableObj.name}]] create_table_indexes_DDL: [{ddl_string}]" log_message(msg) return ddl_string