Skip to content

Kyutech-C3/toybox-server

Repository files navigation

toybox-server

開発

環境はdocker-composeを利用する。 VSCodeを使っている場合は、devcontainerを用いた開発を推奨。

環境構築

【推奨】 VSCodeでDevContainerの機能を用いて環境構築

  1. git clone [email protected]:Kyutech-C3/toybox-server.git

  2. cd toybox-server

  3. VSCodeにRemote - Containers拡張機能を入れた上で、toybox-serverフォルダをコンテナで起動する。

  4. ビルドが完了して、ファイルツリーが表示されたら、新しくターミナルを起動し、
    pipenv run uvicorn main:app --reload --host 0.0.0.0
    を実行すると、http://localhost:8080/docsをブラウザで開くことでドキュメントが見られる。
    ログインしたい場合は、http:///localhost:8080/api/v1/auth/discordをブラウザで開き、Discordでログインする。

docker-composeを用いて環境構築

  1. git clone [email protected]:Kyutech-C3/toybox-server.git
  2. cd toybox-server
  3. docker-compose up -d
  4. docker-compose logs -f
  5. 起動後、http://localhost:8080/docsをブラウザで開くことでドキュメントが見られる。
    ログインしたい場合は、http:///localhost:8080/api/v1/auth/discordをブラウザで開き、Discordでログインする。

開発環境起動

  1. uvicorn main:app --reload --host 0.0.0.0

DBへの初期データ挿入について

  1. コンテナを立てる
  2. ./db_init.shを実行

DBの更新

alembicを使用

初めて使う場合

pipenv install を実行し、パッケージをインストールを行う。

バックエンド開発する人

バックエンドでカラムの変更を行ったら以下の作業を行い、DBの更新を行うPythonファイルの生成と実行を行う。

Dockerが起動している状態で以下の作業を行う。

  1. Dockerのコンテナに入る

docker container exec -it toybox-server_api_1 /bin/sh

  1. DB更新のPythonファイルの生成

alembic revision --autogenerate -m "<コメントを書く>"

  1. 生成したファイルを実行し、DBを更新

alembic upgrade head

現在のマイグレーションのバージョン確認

alembic current

マイグレーション履歴の確認

alembic history --verbose

前のバージョンに戻す

数値指定で戻す

alembic downgrade -1

エラーの対応について

  1. FileNotFoundError: [Errno 2] No such file or directory: '/api/alembic/versions'

エラー

FileNotFoundError: [Errno 2] No such file or directory: '/api/alembic/versions'

対応法

/api/alembic'のディレクトリ内に空のversionsディレクトリを作る

フロントエンド開発の人

バックエンド開発する人の説明の2番を飛ばし、1番と3番を行ってください。

About

ToyBoxのバックエンド開発リポジトリ

Topics

Resources

Stars

Watchers

Forks

Languages