星陵祭オンライン整理券システム「QUAINT」のバックエンドAPI
- docker https://docs.docker.com/get-docker/
- docker-compose
- git https://github.com/git-guides/install-git
をインストールしておく
Gitリポジトリをクローン
$ git clone https://github.com/hibiya-itchief/quaint-api.git
dockerコンテナを立ち上げ
$ docker-compose up -d
http://127.0.0.1:8000/docs でAPIドキュメントが読める
uvicornサーバーの立ち上げ(変更を自動読み込み)
$ uvicorn main:app --reload
最新のapp/models/models.py のBaseクラスを読んでマイグレーションファイルを作る
$ alembic revision --autogenerate -m "hogehoge"
マイグレーションを実行 (+1,-1等で戻したり一個進めたりできるらしい)
$ alembic upgrade head
SchemaSpyでDBのER図を生成
sudo java -jar schemaspy.jar -t mysql -host localhost -db quaint-app -u quaint -p password -o ./db/schemaspy -dp db/driver/mysql-connector-java-8.0.29/mysql-connector-java-8.0.29.jar -s quaint-app -vizjs
このディレクトリ以下で使ってるパッケージだけをrequirements.txtに記録
$ pipreqs . --force