Django4 PostgreSQL14 dumpdataコマンド設定 まとめ
Django4 PostgreSQL14 dumpdataコマンド設定 まとめ
意味:
dumpdata
(データダンプ)コマンドとは、Djangoで、データベースの中身を出力するコマンドです。出力された中身のデータのことを、Djangoではfixture
(フィクスチャア)ファイルと呼びます。fixtureファイルは、デフォルトではjson形式です。動作環境:
Djangoの初期設定を終えた段階を想定しています。
OS: Linux Ubuntu 22
Program: Python 3.7
Framework: Django 4
Database: PostgreSQL 14
コマンドまとめ:
#python仮想環境に入る
source /xxx/[pythonenv]/bin/activate
source /hikari/bin/activate
source /pythonprj/ramen/bin/activate
#djangプロジェクトのディレクトリへ移動
cd /xxx/[djangoproject]
cd /hikari/front
cd /pythonprj/pasta
#DjangoでのDatadumpの手順
python manage.py clearsessions #不要なsessionデータを削除
python manage.py dumpdata --natural-foreign --exclude auth.permission --exclude contenttypes --indent 2 > db.json #データダンプ
python manage.py dumpdata [app] --indent 2 > [filename].json #アプリ指定でデータダンプ
python manage.py dumpdata flats --indent 2 > flats.json
python manage.py dumpdata auth --indent 2 > auth.json #userのみデータダンプ
#Djangoでのfixtureの整理
rm [filename].json #fixture消去
rm db.json
cd /var/www/ftp_dir #FTP用のディレクトリへ移動
cd /pythonprj/pasta #djangプロジェクトのディレクトリへ移動
cp [filename].json /var/www/[ftp directory] #FTP用のディレクトリへコピー
cp flats.json /var/www/ftp_dir
cp -r [directoryname] /var/www/[ftp directory] #FTP用のディレクトリへディレクトリそのものをコピー
cp -r static /var/www/ftp_dir
cp [filename].json /xxx/[djangoproject] #djangプロジェクトのディレクトリへコピー
cp flats.json /pythonprj/pasta
#DjangoからPostgresへのmigrationの手順
django projectのmigrationsフォルダを_init_.pyのみにする #djangoでmigarationファイルの初期化
/pythonprj/pasta/manage.py makemigrations
/pythonprj/pasta/manage.py makemigrations flats #特定のappのみ
/pythonprj/pasta/manage.py showmigrations
/pythonprj/pasta/manage.py migrate
/pythonprj/pasta/manage.py migrate flats #特定のappのみ
#Djangoでのloaddataの手順
python manage.py loaddata [filename].json #フィクスチュアをデータベースに入れる
python manage.py loaddata flats.json
/pythonprj/pasta/manage.py loaddata /var/www/ftp_dir/fla.json #FTP用ディレクトリから直接フィクスチュアをデータベースに入れる
#Postgresの動作確認
sudo systemctl status postgresql #状態確認
sudo systemctl restart postgresql #再起動
sudo systemctl enable postgresql #自動再起動の設定
探究資料:
djangoproject.com.
PostgreSQL 14.2 Documentation.
質問と回答