fix: P4T1审查修复(platform.db入data卷/tzdata注释/corepack钉版/compose版本注记)
- main.py: PLATFORM_DB 挪到 <repo>/data/platform.db——data/ 是 compose bind mount,容器/镜像重建不再丢租户注册表;lifespan 对父目录兜底 mkdir(冷机 data/ 不存在,sqlite 不建父目录)。bootstrap 脚本 --db 默认值同步锚定 data/。 - 新测试 test_platform_db_defaults_into_data_dir: 常量形状钉死(回退 仓库根即红)+ 冷机形态下 lifespan 建库于 data/ 内(全量 603)。 - Dockerfile: corepack 钉实测通过的具体版本 0.36.0(不追 latest,构建 可复现);tzdata 注释照实改写(trixie slim 实测已自带,安装留作基 镜像漂移保险)。 - docker-compose: 头注释改准确(tenants/=租户库,data/=platform.db+ uploads);env_file 注记对象式写法需 Docker Compose >= 2.24。 - 实证: compose down/up 重建容器后宿主 ./data/platform.db 仍在, healthcheck healthy,/admin/ 200;docker compose build 复验通过。 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -91,8 +91,9 @@ async def _import_profile(engine, seed_dir: Path, slug: str) -> str:
|
||||
|
||||
async def run(args) -> None:
|
||||
db_path = Path(args.db)
|
||||
# sqlite 不建父目录(仓库根默认存在,--db 指新目录时会炸——conftest
|
||||
# build_app 同坑注记);照 registry._ensure_ready 纪律先建目录
|
||||
# sqlite 不建父目录(默认的 data/ 在冷机可能尚不存在,--db 指新目录
|
||||
# 同炸——conftest build_app 同坑注记);照 registry._ensure_ready 纪律
|
||||
# 先建目录(app/main.py 的 lifespan 对 PLATFORM_DB 同兜底)
|
||||
db_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
engine = make_platform_engine(db_path)
|
||||
try:
|
||||
@@ -122,9 +123,10 @@ async def run(args) -> None:
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument(
|
||||
"--db", default=str(REPO_ROOT / "platform.db"),
|
||||
help="platform.db 路径(默认仓库根,与 app/main.py 的 PLATFORM_DB "
|
||||
"同一锚定;测试/分环境可覆盖)")
|
||||
"--db", default=str(REPO_ROOT / "data" / "platform.db"),
|
||||
help="platform.db 路径(默认 <repo>/data/,与 app/main.py 的 "
|
||||
"PLATFORM_DB 同一锚定——data/ 是 compose bind mount,重建"
|
||||
"容器不丢;测试/分环境可覆盖)")
|
||||
parser.add_argument(
|
||||
"--profiles", nargs="+", default=list(DEFAULT_PROFILES),
|
||||
help=f"导入的出厂档案 slug 列表(默认 {' '.join(DEFAULT_PROFILES)})")
|
||||
|
||||
Reference in New Issue
Block a user