我正在使用 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/