Django MySQL 設定 DB migration 方法

今回は、DjangoのMySQLの接続設定と、

Django標準のmanage.pyを利用して、

DB(MySQL)をマイグレーションする方法をメモしておこうと思います。

 

尚、Djangoのプロジェクトは、以下のメモの要領で作成済みの前提で行います。

Djangoプロジェクト作成 PyCharm

 

環境・モジュール

  • Python version:3.8.1
  • Django version:3.0.3
  • pip:20.1.1
  • mysqlclient:2.0.1
  • PyCharm 2019.3.3 (Community Edition)
    Runtime version: 11.0.5+10-b520.38 x86_64

Django DB設定

DjangoのDB接続設定は、settings.pyで行います。

デフォルトだとSqlite用の設定になっていると思いますので、

MySQL用の内容に修正します。

Django document MySQL notes

settings.py 設定内容

修正箇所は、Djangoプロジェクト名/settings.pyファイルのDATABASESの部分です。

DBの接続情報を元にそれぞれ設定します。

設定項目

  • ENGINE:django.db.backends.mysql
  • NAME:DB名
  • USER:DBユーザー名
  • PASSWORD:ユーザーパスワード
  • HOST:ホスト名
  • PORT:ポート名
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'Django_test_02',
    'USER': 'root',
    'PASSWORD': 'root',
    'HOST': '127.0.0.1',
    'PORT': '8889',
  }
}

※Workbenchで接続情報を確認するときには、以下のような形でよく確認します。

 


DB(MySQL) マイグレーション実行

以下のメモは、Djangoの管理画面用のDBテーブル整備を、

Djangoのマイグレーション機能を利用して行う内容になっています。

マイグレーションファイル作成

通常であれば、作成するDBテーブルに対応したモデルを作成してから、

マイグレーションファイルを作成しますが、

今回は、管理画面用のテーブルだけ作成したいので、モデルは一切作成せずに、以下のコマンドを実行します。

python manage.py makemigrations

※python2とpython3が共存している場合は、python3と指定します。

マイグレーション実行

以下のコマンドでマイグレーションを実行します。

python manage.py migrate

マイグレーションを実行後に、DBを確認するとテーブルが作成されています。

 


マイグレーション トラブルシュート

マイグレーション時に、以下の様なエラーメッセージが表示された場合、

pythonコマンドのバージョン指定が間違っているか、

mysqlclientなどのツールが不足している可能性があります。

Did you install mysqlclient?

パッケージ不足対応

pipを利用してインストールします。

pip install パッケージ名

※pipのバージョンが混在している場合は、pip3など指定して実行する必要があります。

基本的には、エラーメッセージで表示されたパッケージをインストールすれば解決します。

インストールされているパッケージ一覧を確認したい場合には、以下のコマンドで確認できます。

pip list

 


 

今回のメモは以上となります。

初めてマイグレーションを行う際には、トラブルなどが起きやすいと思いますので、

逐一メモしておきたいと思います。

 


都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 139

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る