背景
Python/Djangoで開発をすすめるにあたり、よく使うコマンドをまとめておきます。
先人たちの知恵をお借りするなどして解決できたことを、この場をお借りして感謝するとともに、大変恐縮ですが自分のメモとしても、こちらへまとめておきます。
環境
(本番環境)
- AWS EC2 (Amazon Linux 2)
- Python 3.7.9 ※2020/12/10時点のAmazon Linux2でのデフォルト
- Django 3.1.3
- PostgreSQL 11.5 ※同上
- Nginx 1.12 ※同上
- Gunicorn
- Putty 0.74
(開発環境)
- Windwos 10 Pro
- Python 3.9.0
- Django 3.1.3
- PostgreSQL 13.1
- Nginx 1.19.5
- Gunicorn
- Putty 0.74
1. PostgreSQLの操作
※ ローカルマシン環境に、既にインストールは済んでいる前提です。
1-1. バージョンの確認
ターミナル
$ psql --version
psql (PostgreSQL) 13.1
1-2. ログイン
ターミナル
$ psql -U postgres
ユーザー postgres のパスワード:
psql (13.1)
"help" でヘルプを表示します。
postgres=#
1-3. データベースを作成する
ターミナル
postgres=# create database <データベース名>;
CREATE DATABASE
1-4. データベースの一覧を確認する
ターミナル
postgres=# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
---------------+----------+------------------+----------+-------------------+-----------------------
postgres | postgres | UTF8 | C | C |
<DB名> | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(4 行)
postgres=#
1-5. データを確認する
1-5-1. Python仮想環境に入り、manage.py
の存在するディレクトリへ移動します。
1-5-2. 下記を実行し、データベースユーザとパスワードの環境変数を設定します。
- (前提) プロジェクト設定ファイル:
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '<データベース名>',
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': '',
'PORT': '',
}
}
ターミナル
(venv_<プロジェクト名>) $ set DB_USER=<ユーザー名>
(venv_<プロジェクト名>) $ set DB_PASSWORD=<パスワード>
1-5-3. 下記を実行して、データベース操作を可能とします。
ターミナル
(venv_<プロジェクト名>) $ python manage.py dbshell --settings <データベース名>.settings
<データベース名>=#
1-5-4. テーブル一覧の表示
ターミナル
<データベース名>=# \dt
1-5-5. 特定のテーブルにおける全レコードを表示
ターミナル
<データベース名>=# select * from <テーブル名>;
1-5.6. その他
※ PostgreSQLの使い方 をご参照ください。
1-5-7. ログアウト
ターミナル
<データベース名>=# \q
または、
postgres=# \q
(関連)
【Python/Django】よく使うコマンドのまとめ(1) <仮想環境、プロジェクト、アプリケーションの作成>
【Python/Django】よく使うコマンドのまとめ(2) <パッケージのインストール>
【Python/Django】よく使うコマンドのまとめ(4)-前編- <本番運用:Amazon EC2 (Amazon Linux 2)>
【Python/Django】よく使うコマンドのまとめ(4)-後編- <本番運用:Amazon EC2 (Amazon Linux 2)>
(編集後記)
データベースの各テーブルへ、どのような値が格納されるかをしっかりと確認しながら、アプリケーションの作成に努めていきます。