環境はdocker-composeを利用する。 VSCodeを使っている場合は、devcontainerを用いた開発を推奨。
-
git clone git@github.com: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 git@github.com:Kyutech-C3/toybox-server.gitcd toybox-serverdocker-compose up -ddocker-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番を行ってください。