埋头工作
专职养娃

【问题】Pymysql不兼容导致的migrate失败的问题

这个问题导致我自己做的一个平台在迁移之后,一周都没成功开起来,真心是吃了大亏。

【背景】本人在2018年开发的一套小系统,用的是python3.6+django1.8+mysql6.5进行搭建的,然后数据库连接器用的是PyMysql;系统运行了半年,因为部署在一台普通pc上面,结果pc主机整个挂了,只把mysql的备份抢救了回来。在重新搭建环境的时候,决定同步把版本升上去。于是生产环境就变成了python3.6+django2.2+mysql8.0。结果就出现了python manage makemigrations成功,但是python manage migrate的时候一直吊死。

【解决过程】

1、尝试重装了django,mysql,重建数据库,重装pymysql,失败,还是吊死。

2、尝试删除migrations文件夹里面的迁移记录,失败,还是吊死。

3、我试着查看migrate的语句,检查没问题。 python manage.py sqlmigrate app_name 0001_initial

3、python、django、mysql不能换,只能换数据库连接器了,于是删掉了pymysql,然后用回mysqlclient;然后修改setting配置,竟然成功了!!!

【结论】

真正的原因我没有技术能力找到,网上说的那些兼容性问题,我也没碰到,我只是逃避了问题,换了一种解决方案,如果有谁碰到相同的问题,没精力的话,可以用的办法进行规避解决。

1)安装mysqlclient: pip install mysqlclient

2)修改setting.py中数据库配置部分

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '******',
'USER': '**********',
'PASSWORD': '********************',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}

3)数据库同步迁移

python manage makemigrations

python manage migrate 

4)开启服务

用apach开启 httpd

原生开启:python manage runserver *.*.*.*:8081  

 

赞(0) 打赏
本人经小丙张嘎纯手工打字生成,未经许可不得转载知识点滴:小丙张嘎的烂笔头 » 【问题】Pymysql不兼容导致的migrate失败的问题
分享到: 更多 (0)

相关推荐

  • 暂无文章

评论 抢沙发

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏