はじめに
Djangoを使ってMySQLと連携できるように環境作成し始めました。
その際にmigrateで失敗したので残しておきます。
環境
失敗するまでの流れ
この記事を参考に、MySQLと連携する環境を作っていました。
Djangoでmysqlに接続 - Qiita
その後、migrate時にExceptionが発生し、migrateに失敗しました。
python manage.py migrate ・・・略・・・ raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
対応
mysqlclientのバージョンが古いからか?と思いましたが、一応同じ現象がおきていないかググってみました。
すると、同じ現象で困っているteratailにたどり着きました。
Python - Djangoでmigrateしたいです。|teratail
PyMySQLのissueを見てみると、Django 2.2に対して、pymysqlが対応できていないようです。
Compatibility with Django 2.2 · Issue #790 · PyMySQL/PyMySQL · GitHub
そのため、一旦Django 2.2をアンインストールし、2.1を入れ直しました。 これにより正常にmigrateできるようになりました。