kashi_py

Open API

http://localhost:8000/docs#/

を確認。

docker-compose コマンドが失敗する場合

cliかdocker desktopでコンテナを起動すると治る(だいたい)

イメージのビルド

docker-compose build

パッケージ管理ツールのインストール

docker-compose run \
  --entrypoint "poetry init \
    --name demo-app \
    --dependency fastapi \
    --dependency uvicorn[standard]" \
  demo-app

依存パッケージのインストール

docker-compose run --entrypoint "poetry install" demo-app

イメージの再ビルド

docker-compose build --no-cache

サーバ立ち上げ

docker-compose up

ORMライブラリのインストール

docker-compose exec demo-app poetry add sqlalchemy aiomysql

DBのtableの初期化

docker-compose exec demo-app poetry run python -m api.migrate_db

MySQLクライアントの起動

docker-compose exec db mysql demo

ORの書き方

pythonだとorは予約語なので、

from sqlalchemy import select,or_

して、

filter(or_(transaction_model.Transaction.lender_id == user_id,transaction_model.Transaction.borrower_id == user_id))

こんな感じで使う