神戸学院大学 経営学部 林坂ゼミ

React 入門トップページ

« 戻る 次へ »

React 入門

Python Django によるバックエンド API サーバの準備

データベースのマイグレーションとテストデータの投入

データベースの内容そのものは Git のリポジトリには含まれていません.したがって,データベースを作成してテストデータを投入する必要があります.ここでは SQLite というデータベースを利用します.

まず,データベースのマイグレーション(作成)状況を確認します.まだテーブルが一切作成されていない(ファイル自体が存在しない)はずです.

(py311DjangoAPI) C:\Users\student\Documents\react\django-comment-api>python manage.py showmigrations ⏎
admin
 [ ] 0001_initial
 [ ] 0002_logentry_remove_auto_add
 [ ] 0003_logentry_add_action_flag_choices
auth
 [ ] 0001_initial
 [ ] 0002_alter_permission_name_max_length
 [ ] 0003_alter_user_email_max_length
 [ ] 0004_alter_user_username_opts
 [ ] 0005_alter_user_last_login_null
 [ ] 0006_require_contenttypes_0002
 [ ] 0007_alter_validators_add_error_messages
 [ ] 0008_alter_user_username_max_length
 [ ] 0009_alter_user_last_name_max_length
 [ ] 0010_alter_group_name_max_length
 [ ] 0011_update_proxy_permissions
 [ ] 0012_alter_user_first_name_max_length
comments
 [ ] 0001_initial
contenttypes
 [ ] 0001_initial
 [ ] 0002_remove_content_type_name
sessions
 [ ] 0001_initial

マイグレーションを実行してデータベースにテーブルを生成します.

(py311DjangoAPI) C:\Users\student\Documents\react\django-comment-api>python manage.py migrate ⏎
Operations to perform:
  Apply all migrations: admin, auth, comments, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying comments.0001_initial... OK
  Applying sessions.0001_initial... OK

テーブルが生成されたことを確認します.すべてのマイグレーションファイルに [X] 印が入ったので,マイグレーションファイル実行されてテーブルが作成されています.

(py311DjangoAPI) C:\Users\student\Documents\react\django-comment-api>python manage.py showmigrations ⏎
admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add
 [X] 0003_logentry_add_action_flag_choices
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
 [X] 0009_alter_user_last_name_max_length
 [X] 0010_alter_group_name_max_length
 [X] 0011_update_proxy_permissions
 [X] 0012_alter_user_first_name_max_length
comments
 [X] 0001_initial
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
sessions
 [X] 0001_initial

生成したテーブルに10件のテストデータを投入します.Windows では次のコマンドのとおりフォルダの区切りに円マーク(英語環境ではバックスラッシュ)を使います.

(py311DjangoAPI) C:\Users\student\Documents\react\django-comment-api>python manage.py loaddata comments\fixtures\comments-data.json ⏎
Installed 10 object(s) from 1 fixture(s)

macOS ではフォルダの区切りに / を利用してください.

% python manage.py loaddata comments/fixtures/comments-data.json ⏎
Installed 10 object(s) from 1 fixture(s)

なお,開発の途中段階では,データベースのテーブルを一旦リセットして,再びテストデータを投入し直すという操作を頻繁に行うことになるかもしれません.その方法はこちらを参照してください.

目次に戻る