Visual Studio で Django+MySQL & migrate

以前購入して、pycharmで動かしてみた上記のDjangoアプリをやってみようかと思います。ただし、著書内ではDBはpostgresでAWSに設置することになっているのですが、私はXサーバーのMySQLに設置することを想定し、MySQLにて構築します。

ついでにVisual Studio 2019にてコマンドを一切使わずにmigrateする方法も見つけたのでご紹介いたします。

XAMPPインストール

インストールについては割愛。

phpmyAdminにて、Django接続用のユーザを作成しておく。

面倒なのでフルコントロールで。

接続設定

setting.pyを編集する

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'polls',
        'USER': 'djangouser',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        },
    }
}

sqlclientが無いと怒られるので忘れずにインストール

おし、つながった!!

本の通り書いてみる

とりあえず本のとおり進めてみるが…

エラー。

テンプレートが無いと怒られるが…。

どうやら、settings.pyにアプリ名を明記しないといけないみたいです。

INSTALLED_APPS = [
    'diary', #追加
    
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

これは、Visual Studionのdajngoテンプレートから作成するとappという名のアプリケーションがあるのですが、後からdiaryという名のアプリを追加したからです。複数アプリがある場合は読み込むテンプレート名を指定する必要があるみたいです。

と思ったら違ったみたいです。configを明示していなかったからみたいです。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
     
    'diary.apps.diaryConfig', #コンフィグを明示
]

Visual Studio の Pythonでmigrateはどうする?

ここまで順調にきましたが、一つ問題点が…

DB情報の初期化・変更時に用いるmigrateをどのようにやるか?ということです。対話モードでコマンドをうつのもなぁと思っていたら、以外にも簡単にできました。

コマンドを打たずにmigrate

ソリューションを右クリックして→Python→Djangoで移行ファイルを作成する
(≒makemagrations)

ソリューションを右クリックして→Python→Djangoで移行ファイルを実行する
(≒migrate)

画面左下のコンソールで確かに、makemigration,migrateが実行されています。

これで一文字もコマンドを打つことなくmigrate(マイグレート)が実行できました。
(SEならコマンドの一つくらい面倒でも打てよというツッコミは無しでお願いしますww)

一通り進めてみる

一覧表示、詳細表示、登録、更新、削除と一通りできました。

まとめ

やっぱりVisual Studioは楽でいいですね。コマンドを覚える必要がない(笑)

次回はXサーバーに設置してみようと思います。
SSH接続していろいろ試みたものの、必要な設定がそろわず断念…

タイトルとURLをコピーしました