【发布时间】:2018-10-30 13:16:29
【问题描述】:
我将 Flask-Migrate 用于目标数据库是 MySQL 兼容的 Aurora 的项目。
我使用Menzhuo's SQLAlchemy fulltext search module为模型添加了全文索引:
class Post(db.Model, FullText, Serializable):
__tablename__ = 'post'
__fulltext_columns__ = ('description', 'text')
id = db.Column(db.String(10), primary_key=True)
description = db.Column(db.String(256))
.
.
.
现在当我使用 Flask-Migrate 生成迁移时,全文索引没有自动拾取。我很清楚 Flask-Migrate 并没有全部,你必须手动添加一些东西到迁移脚本中。
例如,我知道如何手动插入诸如
之类的行op.add_column(...)
op.create_unique_constraint(...)
op.create_index(...)
在生成的迁移中的upgrade 方法内部。但是,当我查看create_index documentation for Alembic 时,我没有看到任何对创建全文索引的支持。我看到了唯一索引的 unique 参数,但没有看到全文索引。
所以我是否错过了直接在 Alembic 中执行此操作的方法(可能使用 SQLAlchemy 命令)?还是我必须编写直接的 SQL?我讨厌不得不做后者,而且我以前从未这样做过。如果有必要,它是如何工作的?
【问题讨论】:
标签: python sqlalchemy alembic flask-migrate sqlalchemy-migrate