diff --git a/backend/README.md b/backend/README.md index 56cc754b..a5c8c7bc 100644 --- a/backend/README.md +++ b/backend/README.md @@ -58,3 +58,21 @@ 5. Commit and push your changes Commit your changes, push your branch to GitHub, and create a pull request. + +## Scripts + +> [!WARNING] +> +> The following script may not apply to the Windows platform +> +> It is recommended to execute under the backend directory, and chmod authorization may be required + +- `pre_start.sh`: Perform automatic database migration and create database tables + +- `celery-start.sh`: For celery docker script, implementation is not recommended + +- `format.sh`: Perform ruff format check + +- `lint.sh`: Perform pre-commit formatting + +- `pdm_export.sh`: Execute pdm export dependency package diff --git a/backend/alembic/env.py b/backend/alembic/env.py index 7aee02d4..69d262da 100644 --- a/backend/alembic/env.py +++ b/backend/alembic/env.py @@ -1,4 +1,6 @@ +#!/usr/bin/env python3 # -*- coding: utf-8 -*- +# ruff: noqa: I001 import asyncio import os import sys diff --git a/backend/pre_start.sh b/backend/pre_start.sh old mode 100644 new mode 100755 index de4ba74f..149de038 --- a/backend/pre_start.sh +++ b/backend/pre_start.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +alembic revision --autogenerate + alembic upgrade head python ./scripts/init_data.py diff --git a/backend/pyproject.toml b/backend/pyproject.toml index c5223b8e..9b09ebc2 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -61,7 +61,7 @@ deploy = [ ] [tool.pdm] -package-type = "application" +distribution = false [tool.pdm.scripts] lint = "pre-commit run --all-files" diff --git a/backend/scripts/init_data.py b/backend/scripts/init_data.py index a6aa607f..841c7f1e 100644 --- a/backend/scripts/init_data.py +++ b/backend/scripts/init_data.py @@ -1,9 +1,13 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- +# ruff: noqa: I001 import logging +import sys from anyio import run +sys.path.append('../') + from backend.database.db_mysql import create_table logging.basicConfig(level=logging.INFO)