Django python rest frameworkでdatabaseをmysqlに対応する

今までは、defaultのsqlite databaseを使用していましたが、
sqliteからmysqlに切り替える方法について書きたいと思います。
python3の環境を想定し、mysqlはすでにインストール済みであるとします。

pipを使ってpluginを導入する

pipを使って、簡単にmysqlが使えるようにライブラリを導入します。
以下のコマンドを叩いて、mysqlclientをインストールします。


pip install mysqlclient
    

インストールが終わったら、resutful01フォルダ内にあるsettings.pyを以下の用に修正します。


DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'flowers',
         'USER': 'ユーザー名',
         'PASSWORD': 'パスワード',
         'HOST' : '',
         'PORT': '',
     }
}
    

NAMEはdatabase名になります。
動作環境はローカルホストを想定しています。

database名をflowersとしたので、flowers dbを作りましょう。
mysqlにログインして、以下のコマンドを叩きます。


CREATE DATABASE flowers;
    

これで、準備が環境したので、migrationコマンドを叩いて、flowers dbに
tableを挿入しましょう。

mysqlのdbにmigrationする

restful01フォルダに移動し、
以下のコマンド叩いてmigrationを実行します。


python manage.py migrate
    

これで、mysql内のflowers dbにmigrationされているはずです。

初版:2018/6/10

このエントリーをはてなブックマークに追加