为了账号安全,请及时绑定邮箱和手机立即绑定

python manage.py db upgrade 语句不起作用

python manage.py db upgrade 语句不起作用

慕仙森 2019-04-16 20:27:14
最近在学Flask,书籍是《Flask.Web.Development》,其中数据库迁移工具使用的是Flask-Migrate,书中提到创建迁移脚本后更新数据库使用pythonmanage.pydbupgrade就可以更新数据库,但是我在使用过程中模型修改后使用上述命令并不起作用,每次都需要删除所有表然后重建,不知道使用过程中在哪一步出错了?可以参考这个文章,FlaskWebDevelopment——数据库(下)就是翻译我提到的书籍;第一步和第二步都已经做了,按照书中所说,当模型更改的时候只要执行更新语句,数据库对表进行更新而不会删除表中的数据,但是现在不起作用,比如我模型增加了字段,执行语句后数据库表对应字段没有增加。
查看完整描述

2 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

数据库迁移一般分为两步
生成迁移的脚本
运行脚本,更改数据库
在upgrade之前,你需要migrate
修改了model之后
需要先pythonmanage.pydbmigrate
然后才pythonmanage.pydbupgrade
                            
查看完整回答
反对 回复 2019-04-16
?
慕斯王

TA贡献1864条经验 获得超2个赞

我遇到的问题是,更改了已有的字段类型migrage之后。迁移脚本里没有任何的更改。求解。。。。
#revisionidentifiers,usedbyAlembic.
revision='5588e49798f0'
down_revision='53ffda24441'
fromalembicimportop
importsqlalchemyassa
defupgrade():
###commandsautogeneratedbyAlembic-pleaseadjust!###
pass
###endAlembiccommands###
defdowngrade():
###commandsautogeneratedbyAlembic-pleaseadjust!###
pass
###endAlembiccommands###
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 429 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信