flask数据库迁移命令:

python manage.py db init
python manage.py db migrate
python manage.py db upgrade

1.报错:KeyError: 'DATABASE_URL'

# DATABASE_URL是我的代码逻辑里定义了连接的数据库地址
解决方案:
    设置环境变量:set DATABASE_URL=123   value可以随意定义
    执行:set   可以查看所有环境变量

2.报错:一长串版本号的东西,需要将mysql版本号的表清了进行迁移

# 解决方案:
    delete from alembic_version;

 

3.用可视化工具Navicat创建类似省市区多级分类表时,parent_id与主键id数据类型必须一致,不要点无符号

# 报错提示:
    Cannot add foreign key constraint

4.有时候Model中的某个字段数据类型改变,执行数据库迁移命令不会报错,但是运行命令 ~show create table 表名~ 查看到的数据类型其实并没有真正变更成功

# 解决方案:
找到migrations/env.py文件,在run_migrations_online函数加入如下内容:
context.configure(
          compare_type=True,  # 检查字段类型
          compare_server_default=True # 比较默认值
          )

5.不能成功删除外键需要执行命令:

ALTER TABLE 表名 DROP FOREIGN KEY 字段名;
02-12 14:10