Try to use Flask's features. Flaskの機能を試すためのリポジトリ
- Python: 3.12.4
- Flask
- rye
see Dockerfile and pyproject.toml in detail.
open VSCode and use Dev Containers: Rebuild Container without cache
cd flask_playground
docker compose upIn Dockerfile, gunicorn activates flask app.
/flask/.venv/bin/gunicorn app:run --chdir /flask/srcGo to http://localhost:8000 and you can see the Hello World message.
cd /flask/src
/flask/.venv/bin/flask hello say --name sigmaWarning
This repository uses multiple databases.
before flask db upgrade, you can see only alembic_version table.
cd /flask/src
/flask/.venv/bin/flask db init
/flask/.venv/bin/flask db migratemysql -h mysql_svr -u root -p
mysql> USE mydatabase;
Database changed
mysql> SHOW TABLES;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| alembic_version |
+----------------------+
1 row in set (0.00 sec)/flask/.venv/bin/flask db upgrademysql> SHOW TABLES;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| alembic_version |
| users |
+----------------------+
2 rows in set (0.00 sec)mysql -h mysql_svr -u root -p
USE mydatabase;
DROP TABLE alembic_version;
drop table users;
CREATE DATABASE mydatabase_alt; -- flask db cannot create databaserm -rf migrations # if any
/flask/.venv/bin/flask db init --multidbrye installではpyproject.tomlのdependenciesにライブラリが追加されない。これがしたいなら,rye addを使う。rye run python run.pyのようにすると,venv内のpythonを使って.pyを実行できる。rys syncするとpyproject.tomlのdependenciesに記述されたライブラリがvenvにインストールされる。