python - flask 迁移 : Alembic converting choices into 255

标签 python flask flask-sqlalchemy alembic flask-migrate

我正在使用 sqlalchemy_utils 向我的数据库添加一个“选择”字段。在我使用 Flask Migrate 运行迁移后,它将我的所有选择转换为 255,下面是一个简化的示例:

# models.py
from sqlalchemy_utils.types.choice import ChoiceType

class Stuff(db.Model):
    type = db.Column(ChoiceType(Stuff_types))

运行 manage.py migrate 后,迁移文件如下所示:

# /migrations/versions/1234migrate.py
import sqlalchemy_utils

def upgrade():
    sa.Column('type', sqlalchemy_utils.types.choice.ChoiceType(length=255), nullable=False),

我手动将那些 length=255 更改为正确的类型(在本例中为 stuff_types),并且成功了。我想知道我是否没有正确设置 alemic 以使用 sqlalchemy_utils。或者是否有我不知道的更好的解决方案?

谢谢大家!

最佳答案

是的,我不完全了解 Alembic。对我有用的是在 alembic > 版本中进入创建的迁移文件并对其进行编辑。

在我的例子中,我有一个 TYPES 数组,我将其添加到升级函数中,因为 Alembic 似乎没有这样做。我用“TYPES”替换了 length=255,一切都很好

关于python - flask 迁移 : Alembic converting choices into 255,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444676/

相关文章:

python - Azure 中的调度容器

python - 如何在 Flask 的发布请求中给出状态?

python - 属性错误: 'str' object has no attribute '_sa_instance_state' - Flask SqlAlchemy

python - CommandError : 'learning_log' s not a valid project name. 请确保名称是有效的标识符

python - Scikit Learn - K-Means - 弯头 - 标准

python - Flask Mongoengine 文本搜索无法解析字段

python - pyodbc 在 IBM Bluemix 服务器上安装错误

python - 在 Python 3.6.10 上运行异步 Flask 2.0.0 时出错

python-3.x - sqlalchemy.exc.ArgumentError : Could not parse rfc1738 URL from string

python - 使用行值函数进行 Flask-sqlalchemy 查询