问题:
使用命令flask db migrate
和flask db upgrade
似乎无法成功更新数据库。
项目: Flask应用程序(基本上是使用应用程序工厂根据大型教程建模的); MySQL; Ubuntu
说明:
在我的models.py
文件中,我用db.Column(db.String(240), index=True, nullable=True)
声明了一个列/字段。将数据添加到数据库时(我之前使用过flask db init
),该字段的240个长度限制太小。
我将models.py
更改为db.Text
,并删除了index=True
以留出更多空间。然后,我运行了flask db migrate
和flask db upgrade
;修订脚本的生成没有明显错误。
我重新运行了数据提取/收集脚本,该脚本填充了我的数据库,并出现了相同的错误(“数据对于列“ myColumn”来说太长了。”)指示从String(240)更改为列- >文本不成功。
我检查了flask-migrate生成的最新脚本:
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index('ix_MYTABLE_myColumn', table_name='MYTABLE')
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_index('ix_MYTABLE_myColumn', 'MYTABLE', ['myColumn'], unique=False)
# ### end Alembic commands ###
看着这个脚本,似乎flask-migrate仅占我删除index=True
的原因,而不是从String(240)->文本进行的更改。
有什么想法可能会这样吗?到目前为止,这使我无法成功使用该工具。