资讯专栏INFORMATION COLUMN

Flask更新数据库出错

thursday / 486人阅读

摘要:转自博客在修改模型更新数据库总是出错,现把大概见到的错误总结一下。数据库关系不正确。可以粗暴的删掉整个数据库重建。然后再执行迁移更新数据库就不会出错了。


转自博客@ying847782627


在修改模型更新数据库总是出错,现把大概见到的错误总结一下。
1.
数据库关系不正确。在刚添加的模型中,如果不是非常确定,并且添加的模型比较多的话,建议先写简单的模型,探索明白具体过程,确定没有其他问题的时候,再添加复杂关系依赖。并且一定要设置debuge=True.此时再根据报错修改关系就简单多了。

2.
如果是直接在模型上添加一列的话,操作步骤为,修改模型-->执行迁移-->更新数据库

3.
如果是在模型上删除一列的话就会出现问题,因为sqlalchemy是不允许删除列的。如下会报错:


解决办法有两种

(1),如果此时数据库还没有存数据,只是在生产阶段初期。可以粗暴的删掉整个数据库重建。具体办法为删除migrations文件夹下versions文件夹里面的数据,以及数据库文件如data.sqlite。然后执行迁移更新。

(2),如果数据库里存了文件,要删除其中的一列,暴力删除的话会删除掉存的数据,此时的解决办法是借助SQLiteExpertPers.首先在数据模型中删除对应的一行。然后再可视化数据库SQLiteExpertPers中删除对应的列,刷新。然后再执行迁移更新数据库就不会出错了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37904.html

相关文章

  • supervisor的使用部署说明

    摘要:创建文件,加入的进程管理中,实现服务器后台运行是在中的进程名,随便取啥上述代码为使用运行。 suopervisor 一、安装supervisor安装 注:以下所有操作在CentOS7中进行 1.安装CentOS7扩展软件仓库 sudo yum install -y epel-release 2.安装supervisor yum install -y supervisor 3.查看安...

    Miracle_lihb 评论0 收藏0
  • 使用swagger 生成 Flask RESTful API

    摘要:指定筛选条件选择合适的状态码应答中,需要带一个很重要的字段。返回结果针对不同操作,服务器向用户返回的结果应该符合以下规范。如果状态码是,就应该向用户返回出错信息。 什么是 RESTful 什么是REST REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文 中提出来的一种...

    printempw 评论0 收藏0

发表评论

0条评论

thursday

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<