在工作中,因为数据表的变化,我们要及时更新数据库,直接删表在创建对数据式及其不安全的,我们需要用到数据迁移。但在使用过程中,我们经常遇到这种报错信息,No changes in schema detected查询不到信息更改。对于数据库迁移仓库文件夹创建基本都不会有问题,使用init 初始化命令就好。,主要是生成迁移脚本的时候最容易出错,首先要避免脚本文件名与关键字重合,然后表格结构不能再脚本程序中进行创建,要使用命令。
出现上图错误,要先确认数据结构确实发生了变化,然后执行python flask-migrate.py db migrete -m 'initial migration'命令,最后执行upgrade,如果自己还不行,将自己原来表结构删除重新建表。最后,需要去检查脚本程序,再我们的程序中如果发现创建表的命令一定要注释掉,记住,一定注释掉,一定注释掉!重要的事情说三遍。因为我们初始化文件,执行migrate命令就已经是再创建表了,如果程序再执行,那么migrate命令相当于重复执行了创建表的命令,无论你怎样修改,都不会检测到变化的,迁移文件也不会生成。