最近在学习Python里面网页开发框架Flask开发小型博客CMS系统,使用flask_sqlalchemy模块用ORM的方法连接数据库。因为跟着视频来学,教程是用sqlite这个小型的数据库,而老师提到在更新升级sqlite数据库时容易出现问题,就要删掉数据库,用db.create_all()方法重建数据库。
开始时,只有用户管理和文章管理功能,只有文章和用户两个数据库,删库重建当然没什么大问题,因为可以用随机函数批量生成用户和文章。但后而有了分类目录的数据库,然后又在文章里面加上缩略图和被推荐的字段,如果这时还删库重建,那么不仅文章没有了,里面缩略图的链接地址也没了。
在这过程中,使用flask_migrate升级sqlite数据库,发现重建数据库第一次升级数据库是没有问题的,但再次升级时会出现一些问题,仔细看那些错误提示,还是找到了方法解决连续升级sqlite数据库的问题。解决的过程如下。
第一,在Article数据库的类中增加一个或多个字段:
原来没有is_recommend字段的,现在加上去。
第二,因为之前有一次更新,所以现在第二次更新输入'flask db init'会出现以下错误提示: