摘要:转自博客在修改模型更新数据库总是出错,现把大概见到的错误总结一下。数据库关系不正确。可以粗暴的删掉整个数据库重建。然后再执行迁移更新数据库就不会出错了。
转自博客@ying847782627
在修改模型更新数据库总是出错,现把大概见到的错误总结一下。
1.
数据库关系不正确。在刚添加的模型中,如果不是非常确定,并且添加的模型比较多的话,建议先写简单的模型,探索明白具体过程,确定没有其他问题的时候,再添加复杂关系依赖。并且一定要设置debuge=True.此时再根据报错修改关系就简单多了。
2.
如果是直接在模型上添加一列的话,操作步骤为,修改模型-->执行迁移-->更新数据库
3.
如果是在模型上删除一列的话就会出现问题,因为sqlalchemy是不允许删除列的。如下会报错:
解决办法有两种
(1),如果此时数据库还没有存数据,只是在生产阶段初期。可以粗暴的删掉整个数据库重建。具体办法为删除migrations文件夹下versions文件夹里面的数据,以及数据库文件如data.sqlite。然后执行迁移更新。
(2),如果数据库里存了文件,要删除其中的一列,暴力删除的话会删除掉存的数据,此时的解决办法是借助SQLiteExpertPers.首先在数据模型中删除对应的一行。然后再可视化数据库SQLiteExpertPers中删除对应的列,刷新。然后再执行迁移更新数据库就不会出错了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/37904.html
摘要:创建文件,加入的进程管理中,实现服务器后台运行是在中的进程名,随便取啥上述代码为使用运行。 suopervisor 一、安装supervisor安装 注:以下所有操作在CentOS7中进行 1.安装CentOS7扩展软件仓库 sudo yum install -y epel-release 2.安装supervisor yum install -y supervisor 3.查看安...
摘要:指定筛选条件选择合适的状态码应答中,需要带一个很重要的字段。返回结果针对不同操作,服务器向用户返回的结果应该符合以下规范。如果状态码是,就应该向用户返回出错信息。 什么是 RESTful 什么是REST REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文 中提出来的一种...
阅读 2042·2021-09-22 15:43
阅读 8383·2021-09-22 15:07
阅读 1058·2021-09-03 10:28
阅读 2028·2021-08-19 10:57
阅读 1026·2020-01-08 12:18
阅读 2958·2019-08-29 15:09
阅读 1500·2019-08-29 14:05
阅读 1585·2019-08-29 13:57