chore: 调整业务项目脚本为根目录入口

main
NoahLan 2 weeks ago
parent 5ef6da5b53
commit 079e1ffb98

@ -71,8 +71,8 @@ app = create_app(
```bash ```bash
./scripts/iti.sh make-app ../my-business-app my_business_app ./scripts/iti.sh make-app ../my-business-app my_business_app
cd ../my-business-app cd ../my-business-app
./scripts/app.sh init ./app.sh init
./scripts/app.sh serve 8000 ./app.sh serve 8000
``` ```
`iti-system` `iti-system`
@ -80,14 +80,14 @@ cd ../my-business-app
```bash ```bash
./scripts/iti.sh make-system-app ../my-system-app my_system_app ./scripts/iti.sh make-system-app ../my-system-app my_system_app
cd ../my-system-app cd ../my-system-app
./scripts/app.sh init-system ./app.sh init-system
``` ```
所有脚本都带中文 help 所有脚本都带中文 help
```bash ```bash
./scripts/iti.sh help ./scripts/iti.sh help
./scripts/app.sh help ./app.sh help
``` ```
## 文档 ## 文档

@ -12,41 +12,41 @@ FastAPI 业务后端项目。
## 初始化 ## 初始化
```bash ```bash
./scripts/app.sh init ./app.sh init
``` ```
Windows Windows
```bat ```bat
scripts\app.cmd init app.cmd init
``` ```
{% if include_system %} {% if include_system %}
同步系统 migration 和 seed 同步系统 migration 和 seed
```bash ```bash
./scripts/app.sh init-system ./app.sh init-system
``` ```
Windows Windows
```bat ```bat
scripts\app.cmd init-system app.cmd init-system
``` ```
{% endif %} {% endif %}
## 开发 ## 开发
```bash ```bash
./scripts/app.sh serve 8000 ./app.sh serve 8000
./scripts/app.sh test ./app.sh test
``` ```
## 数据库迁移 ## 数据库迁移
```bash ```bash
./scripts/app.sh migration "alice add example table" ./app.sh migration "alice add example table"
./scripts/app.sh migrate ./app.sh migrate
``` ```
规则: 规则:

@ -2,7 +2,7 @@
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
set "SCRIPT_DIR=%~dp0" set "SCRIPT_DIR=%~dp0"
set "ROOT_DIR=%SCRIPT_DIR%.." set "ROOT_DIR=%SCRIPT_DIR%"
pushd "%ROOT_DIR%" >nul pushd "%ROOT_DIR%" >nul
set "COMMAND=%~1" set "COMMAND=%~1"
@ -32,7 +32,7 @@ goto help_error
echo {{ project_name }} 项目脚本 echo {{ project_name }} 项目脚本
echo. echo.
echo 用法: echo 用法:
echo scripts\app.cmd ^<命令^> [参数] echo app.cmd ^<命令^> [参数]
echo. echo.
echo 常用命令: echo 常用命令:
echo help 显示帮助 echo help 显示帮助
@ -49,10 +49,10 @@ echo init-system system-sync + migrate + system-seed
{% endif %}echo init install + migrate{% if include_system %} + system-seed{% endif %} {% endif %}echo init install + migrate{% if include_system %} + system-seed{% endif %}
echo. echo.
echo 示例: echo 示例:
echo scripts\app.cmd install echo app.cmd install
echo scripts\app.cmd serve 8000 echo app.cmd serve 8000
echo scripts\app.cmd migration "alice add order table" echo app.cmd migration "alice add order table"
{% if include_system %}echo scripts\app.cmd init-system {% if include_system %}echo app.cmd init-system
{% endif %}popd >nul {% endif %}popd >nul
exit /b 0 exit /b 0
@ -81,7 +81,7 @@ goto end
:migration :migration
set "MESSAGE=%~1" set "MESSAGE=%~1"
if "%MESSAGE%"=="" ( if "%MESSAGE%"=="" (
echo 缺少 migration 说明。示例:scripts\app.cmd migration "alice add order table" 1>&2 echo 缺少 migration 说明。示例app.cmd migration "alice add order table" 1>&2
exit /b 2 exit /b 2
) )
uv run alembic revision --autogenerate -m "%MESSAGE%" uv run alembic revision --autogenerate -m "%MESSAGE%"

@ -1,7 +1,7 @@
#!/usr/bin/env sh #!/usr/bin/env sh
set -eu set -eu
ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
cd "$ROOT_DIR" cd "$ROOT_DIR"
show_help() { show_help() {
@ -9,7 +9,7 @@ show_help() {
{{ project_name }} 项目脚本 {{ project_name }} 项目脚本
用法: 用法:
./scripts/app.sh <命令> [参数] ./app.sh <命令> [参数]
常用命令: 常用命令:
help 显示帮助 help 显示帮助
@ -26,10 +26,10 @@ show_help() {
{% endif %} init install + migrate{% if include_system %} + system-seed{% endif %} {% endif %} init install + migrate{% if include_system %} + system-seed{% endif %}
示例: 示例:
./scripts/app.sh install ./app.sh install
./scripts/app.sh serve 8000 ./app.sh serve 8000
./scripts/app.sh migration "alice add order table" ./app.sh migration "alice add order table"
{% if include_system %} ./scripts/app.sh init-system {% if include_system %} ./app.sh init-system
{% endif %} {% endif %}
EOF EOF
} }
@ -57,7 +57,7 @@ case "$command" in
migration) migration)
message=${1:-} message=${1:-}
if [ -z "$message" ]; then if [ -z "$message" ]; then
echo "缺少 migration 说明。示例:./scripts/app.sh migration \"alice add order table\"" >&2 echo "缺少 migration 说明。示例:./app.sh migration \"alice add order table\"" >&2
exit 2 exit 2
fi fi
uv run alembic revision --autogenerate -m "$message" uv run alembic revision --autogenerate -m "$message"

@ -8,8 +8,8 @@
```bash ```bash
./scripts/iti.sh make-app ../my-business-app my_business_app ./scripts/iti.sh make-app ../my-business-app my_business_app
cd ../my-business-app cd ../my-business-app
./scripts/app.sh init ./app.sh init
./scripts/app.sh serve 8000 ./app.sh serve 8000
``` ```
Windows Windows
@ -17,8 +17,8 @@ Windows
```bat ```bat
scripts\iti.cmd make-app ..\my-business-app my_business_app scripts\iti.cmd make-app ..\my-business-app my_business_app
cd ..\my-business-app cd ..\my-business-app
scripts\app.cmd init app.cmd init
scripts\app.cmd serve 8000 app.cmd serve 8000
``` ```
## 参数 ## 参数
@ -45,8 +45,8 @@ scripts\app.cmd serve 8000
- 示例 FastAPI 模块 - 示例 FastAPI 模块
- 示例 SQLAlchemy 模型 - 示例 SQLAlchemy 模型
- 示例测试 - 示例测试
- `scripts/app.sh` - `app.sh`
- `scripts/app.cmd` - `app.cmd`
## 系统业务 ## 系统业务
@ -54,37 +54,37 @@ scripts\app.cmd serve 8000
生成后执行: 生成后执行:
```bash ```bash
./scripts/app.sh init-system ./app.sh init-system
``` ```
Windows Windows
```bat ```bat
scripts\app.cmd init-system app.cmd init-system
``` ```
## 生成项目脚本 ## 生成项目脚本
模板会生成两份脚本: 模板会生成两份脚本:
- `scripts/app.sh`Linux / macOS / Git Bash。 - `app.sh`Linux / macOS / Git Bash。
- `scripts/app.cmd`Windows CMD。 - `app.cmd`Windows CMD。
常用命令: 常用命令:
```bash ```bash
./scripts/app.sh help ./app.sh help
./scripts/app.sh install ./app.sh install
./scripts/app.sh test ./app.sh test
./scripts/app.sh serve 8000 ./app.sh serve 8000
./scripts/app.sh migration "alice add order table" ./app.sh migration "alice add order table"
./scripts/app.sh migrate ./app.sh migrate
``` ```
`iti-system` 的项目还会有: `iti-system` 的项目还会有:
```bash ```bash
./scripts/app.sh system-sync ./app.sh system-sync
./scripts/app.sh system-seed ./app.sh system-seed
./scripts/app.sh init-system ./app.sh init-system
``` ```

@ -120,7 +120,7 @@ if "%PACKAGE%"=="" (
set "PACKAGE=!PACKAGE:-=_!" set "PACKAGE=!PACKAGE:-=_!"
) )
for %%I in ("%TARGET%") do set "PROJECT_NAME=%%~nxI" for %%I in ("%TARGET%") do set "PROJECT_NAME=%%~nxI"
uvx copier copy "%CD%\copier-template" "%TARGET%" -d project_name="!PROJECT_NAME!" -d project_slug="!PACKAGE!" -d include_system="%INCLUDE_SYSTEM%" uvx copier copy --defaults "%CD%\copier-template" "%TARGET%" -d project_name="!PROJECT_NAME!" -d project_slug="!PACKAGE!" -d include_system="%INCLUDE_SYSTEM%"
goto end goto end
:end :end

@ -89,7 +89,7 @@ case "$command" in
if [ "$command" = "make-system-app" ]; then if [ "$command" = "make-system-app" ]; then
include_system=true include_system=true
fi fi
uvx copier copy "$ROOT_DIR/copier-template" "$target" \ uvx copier copy --defaults "$ROOT_DIR/copier-template" "$target" \
-d project_name="$(basename "$target")" \ -d project_name="$(basename "$target")" \
-d project_slug="$package" \ -d project_slug="$package" \
-d include_system="$include_system" -d include_system="$include_system"

Loading…
Cancel
Save