我正在用index = True构建一个表,在这里我希望名称始终是唯一的索引名称,可以使用UUID作为后缀..像ix__uuid
下面我的表创建代码
add = Table('src_add_lookup', metadata,
Column('id', Integer, Sequence('seq_add', schema='can'), primary_key=True, index=True)
metadata.drop_all(engine, tables=[add]) # using 'tables' param to only create the necessary table
metadata.create_all(engine, tables=[add])
这将始终创建一个我希望避免的名为ix_src_add_lookup_id的索引。
是否有某种方法可用于这种事情?
答案 0 :(得分:0)
最后将Index api与uuid()lib一起使用以生成所需的唯一索引名称,如下面的代码。
from sqlalchemy import Index
add = Table('src_add_lookup', metadata,
Column('id', Integer, Sequence('seq_add', schema='can'), primary_key=True)
Index('idx_add_{}'.format(uuid.uuid4().hex), add.c.id, unique=True)