環境はdocker-composeを利用する。 VSCodeを使っている場合は、devcontainerを用いた開発を推奨。
-
git clone [email protected]:Kyutech-C3/toybox-server.git
-
cd toybox-server
-
VSCodeに
Remote - Containers
拡張機能を入れた上で、toybox-server
フォルダをコンテナで起動する。 -
ビルドが完了して、ファイルツリーが表示されたら、新しくターミナルを起動し、
pipenv run uvicorn main:app --reload --host 0.0.0.0
を実行すると、http://localhost:8080/docs
をブラウザで開くことでドキュメントが見られる。
ログインしたい場合は、http:///localhost:8080/api/v1/auth/discord
をブラウザで開き、Discordでログインする。
git clone [email protected]:Kyutech-C3/toybox-server.git
cd toybox-server
docker-compose up -d
docker-compose logs -f
- 起動後、
http://localhost:8080/docs
をブラウザで開くことでドキュメントが見られる。
ログインしたい場合は、http:///localhost:8080/api/v1/auth/discord
をブラウザで開き、Discordでログインする。
uvicorn main:app --reload --host 0.0.0.0
- コンテナを立てる
./db_init.sh
を実行
alembicを使用
pipenv install
を実行し、パッケージをインストールを行う。
バックエンドでカラムの変更を行ったら以下の作業を行い、DBの更新を行うPythonファイルの生成と実行を行う。
Dockerが起動している状態で以下の作業を行う。
- Dockerのコンテナに入る
docker container exec -it toybox-server_api_1 /bin/sh
- DB更新のPythonファイルの生成
alembic revision --autogenerate -m "<コメントを書く>"
- 生成したファイルを実行し、DBを更新
alembic upgrade head
現在のマイグレーションのバージョン確認
alembic current
マイグレーション履歴の確認
alembic history --verbose
前のバージョンに戻す
数値指定で戻す
alembic downgrade -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番を行ってください。