flask数据库迁移问题解决

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

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

解决办法:

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

如: create database file charset=utf8;

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

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

解决办法:

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

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

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

解决办法:

  1. 删除 migrations 文件夹 + 数据库表中的 alembic_version 表,重新初始化数据库并更新;(可以保存原来的数据库表中的数据)
  2. 删除整个数据库表,之后便可以直接进行数据库初始化更新操作。(migrations文件夹也可以删除,相当于重新创建数据库表,原来的数据也不会存在)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值