【flask-migrate数据库迁移】Can't locate revision identified by '85f87f20772b'

 一、flask迁移数据库

1. flask迁移数据库过程:

1. python3 run.py db init
作用:做一些项目和数据库的初始化操作
特点:一个项目中init只执行一次即可

2.python3 run.py db migrate
作用:将编辑好的实体类生成中间文件并保存在migrations文件夹中
特点:只有检测到实体类有更改的时候,才会生成中间文件

3.python3 run.py db upgrade
作用:将中间文件映射回数据库

 2. 错误如下

ERROR [root] Error: Can't locate revision identified by '85f87f20772b'

3. 错误产生的背景

我新建了一个项目,在该项目中创建了一些实体类,连接的数据库是另外一个新的数据库。然后,执行【python3 run.py db init】【python3 run.py db migrate】

4. 错误产生的原因

执行【python3 run.py db init】命令后,不但会在程序所在目录下生成一个migrations文件夹,还会在数据库里生成一个名为alembic_version的数据库表,如果alembic_version数据库和migrations文件夹不是对应的,就会报错。

二、解决方案

1. 使用新的数据库进行初始化迁移数据库

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost:3306/blog_new' #换个数据库

2. 删除数据表alembic_version中的记录,再执行【python3 run.py db init】【python3 run.py db migrate】【python3 run.py upgrade】进行数据库迁移

标题

猜你喜欢

转载自blog.csdn.net/m0_37605642/article/details/90638195