有没有办法用 Peewee 追溯索引 sql 文件的列?
Yes. Pewee's http://docs.peewee-orm.com/en/latest/ 模式迁移器 http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#SchemaMigrator类包括支持添加索引 http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#SchemaMigrator.add_index:
添加索引(表,列[,唯一=假])
table(str) – 要在其上创建索引的表的名称。
columns(list) – 应索引的列列表。unique
unique(bool) – 新索引是否应指定唯一约束。
如果您将 Pewee 与pewee_migrate 包 https://github.com/klen/peewee_migrate,您可以创建数据库迁移以在已存在的表上添加索引,如下所示:
unique_index = False
def migrate(migrator, database, fake=False, **kwargs):
migrator.create_index('some_table', ('name_of_indexed_column',), unique_index)
def rollback(migrator, database, fake=False, **kwargs):
migrator.drop_index('some_table', ('name_of_indexed_column',), unique_index)
进而运行迁移 https://github.com/klen/peewee_migrate#id4.