前回(別記事「DB-SQLite-操作」)は、Python/Django環境からSQLiteデータベースを操作しました。
今回は、同じ環境から、Docker上で稼働させたMySQLコンテナに、接続します。
※但し本手順では、(Settings.py、Models.py等の)Djangoソースに登録済みのデータを元に、MySQLに新規で作成します。
※つまり、MySQLに既存のテーブルが既にある場合でも、それと同名のテーブルを作成しようとしてしまうので、(同名のテーブルが既に存在します、といった)エラーが発生してしまうことになります。
※この様に、もしMySQLに既存のテーブルに接続したい場合は、次の別記事を参照願います。
(a)別記事「[基礎知識]Djangoから既存DB(MySQL)テーブルに接続・操作する手順」参照
以下は、その作業記録(備忘録)です。
1.Docker上でMySQLコンテナ作成・稼働
(1)MySQLコンテナ稼働
Docker上のMySQLイメージからMySQLコンテナを作成します。
①イメージダウンロード後、実行
②MySQLコンテナ名指定・作成
③MySQLコンテナ作成確認
④MySQLコンテナの稼働・接続
(補足)上記(画像2行目)パスワードは、docker-compose.ymlファイル中に設定しておきます。
⑤MySQLコンテナ動作確認
※上記手順の詳細については
(a)別記事「[レビュー](docker-compose編)Docker Desktop上で、MySQL試験環境作成」
(b)別記事「[基礎知識]DockerでMySQLコンテナに接続する手順」
をご覧下さい)
2.Python環境(Djangoプロジェクト)からMySQLコンテナへの接続
現在、SQLiteに接続している環境に、MySQLにも接続できるように設定を変更します。
(1)Settings.py
DATABASES設定に、以下の様に(追加設定1)を追加します。
※上記詳細については別記事「[基礎知識]DjangoプロジェクトのSettings.py/DATABASES情報に設定するポート番号について」を参照して下さい。
(2)実行環境の確認・再起動
前回の実行環境(python仮想環境有効化、Django環境(Webサーバー)再起動、等)を行います。
① python仮想環境有効化
※上記GUI操作以外に、次のコマンドでも実行できます。
> conda activate Python_Django_hajimete01
② Django環境(Webサーバー)再起動
Djangoプロジェクトのmanage.pyが置いてあるフォルダで、次のコマンドを実行します。
> Python manage.py runserver
③ 前回作成アプリケーション実行確認
以降((3)以降)で、MySQL接続を行う前に(一応)前回作成アプリケーション実行を確認しておきます。