DjangoのDBをSqligthからMysqlへ切り替える
ローカルではうまくいくのに、サーバで切り替えがうまく行かない
migrateを実施してみたら
Mysqlが入っているのに
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module
と、エラーが出る
を、参考にして
対策したらうまくいった
切り替えの流れ
■Settingを変更
https://docs.djangoproject.com/en/1.11/ref/settings/#databases
を、参考にDBを追加
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.postgresql’,
‘NAME’: ‘mydatabase’,
‘USER’: ‘mydatabaseuser’,
‘PASSWORD’: ‘mypassword’,
‘HOST’: ‘xxx.xxx.xxx.xxx’,
‘PORT’: ‘3306’,
}
}
WSGI_APPLICATIONの設定をDATABASESの前に追加
WSGI_APPLICATION = ‘[app_name].wsgi.application’
■Mysqlライブラリーを追加
pip install pymysql
■migrateを実施
python manage.py makemigrations
python manage.py migrate
ローカルでできたが、サーバ端末でエラー
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
を、参考にして
app_root_folder/app_name/__init__.py
へ、
import pymysql
pymysql.install_as_MySQLdb()
を、追加
無事切り替え完了