flask数据库迁移问题解决

时间:2024-03-23 19:18:20

问题1:sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1049, "Unknown database 'file'")

flask数据库迁移问题解决

原因:在进行数据库迁移之前没有创建对应的数据库

解决办法:

创建数据库:create database database_name charset=utf8;

如: create database file charset=utf8;

问题2:sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1138, 'Invalid use of NULL value')

flask数据库迁移问题解决

原因:在最初没有设置默认值为not null,而后期想要修改时报错了,因为这时修改会影响很多值的初始化设置,而且不统一,可能有的列允许为空,有的列不允许为空。

解决办法:

  1. 删除数据库,重新创建空数据库。
  2. 删除所有的数据表。

问题3:Error: Can't locate revision identified by 'xxxx'

原因:数据库版本不对,可能是更换了 migrations 文件,但是仍旧使用的是原来的数据库表。

解决办法:

  1. 删除 migrations 文件夹 + 数据库表中的 alembic_version 表,重新初始化数据库并更新;(可以保存原来的数据库表中的数据)
  2. 删除整个数据库表,之后便可以直接进行数据库初始化更新操作。(migrations文件夹也可以删除,相当于重新创建数据库表,原来的数据也不会存在)