From 616fe10b0277fcc092616b3470865e8d78fae89e Mon Sep 17 00:00:00 2001 From: houhuan Date: Sun, 7 Dec 2025 22:07:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=86=E5=81=87=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=EF=BC=8C=E4=B8=8D=E9=9C=80=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 1 - README.md | 10 +++------- backend/app.py | 16 +++++----------- seed/revenue.csv | 6 ------ seed/revenue.sample.csv | 6 ------ 5 files changed, 8 insertions(+), 31 deletions(-) delete mode 100644 seed/revenue.csv delete mode 100644 seed/revenue.sample.csv diff --git a/Dockerfile b/Dockerfile index fd83a3f..cc4f37f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,6 @@ RUN python -m pip install --no-cache-dir --upgrade pip -i $PIP_INDEX_URL && \ COPY backend/ ./backend/ COPY frontend/ ./frontend/ COPY config.json ./config.json -COPY seed/ /app/init/ RUN mkdir -p /app/data VOLUME ["/app/data"] EXPOSE 57778 diff --git a/README.md b/README.md index 274c86a..ad2af7f 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,6 @@ docker-compose up -d . ├── backend/ # Flask API + APScheduler ├── frontend/ # 单页 HTML(Tailwind+Chart.js) -├── seed/ # 预置数据CSV(revenue.sample.csv),构建时复制到 /app/init/ ├── data/ # SQLite 数据卷(自动创建/挂载) ├── Dockerfile # 生产镜像(已适配腾讯云) ├── docker-compose.yml # 一键部署 @@ -50,9 +49,8 @@ curl -X PUT http://localhost:5000/api/admin/turnover \ ``` ## 数据预置与迁移 -- 首次启动自动导入(DB为空时): - 1. 如果存在 `/app/data/import.csv`,优先导入该文件 - 2. 否则导入镜像内 `/app/init/revenue.csv`(可将 `seed/revenue.sample.csv` 重命名为 `revenue.csv`) +- 首次启动自动导入(开启 `AUTO_IMPORT_ON_START=1` 且 DB为空): + - 如果存在 `/app/data/import.csv`(宿主机 `./data/import.csv`),自动导入该文件 - CSV格式: ``` date,amount @@ -70,9 +68,7 @@ curl -X PUT http://localhost:5000/api/admin/turnover \ - 基础镜像切换为 `python:3.11-alpine`,构建更快、体积更小 - 依赖安装走腾讯云 PyPI 镜像:`PIP_INDEX_URL=https://mirrors.cloud.tencent.com/pypi/simple` - 自动数据导入:环境变量 `AUTO_IMPORT_ON_START=1`,启动时按顺序导入 - 1. `/app/data/import.csv`(宿主机 `./data/import.csv`) - 2. `/app/init/revenue.csv`(仓库 `seed/revenue.csv`) - 3. `/app/init/revenue.sample.csv` + - `/app/data/import.csv`(宿主机 `./data/import.csv`) ## 生产建议 - 建议使用反向代理(Nginx)暴露 `5000` 端口,并开启 gzip diff --git a/backend/app.py b/backend/app.py index 8461b53..d42336d 100644 --- a/backend/app.py +++ b/backend/app.py @@ -321,17 +321,11 @@ def auto_import_csv_on_start(): flag = os.getenv('AUTO_IMPORT_ON_START', '1') if str(flag) == '0': return - paths = [ - os.path.join("/app", "data", "import.csv"), - os.path.join(os.path.dirname(__file__), "..", "init", "revenue.csv"), - os.path.join(os.path.dirname(__file__), "..", "init", "revenue.sample.csv"), - ] - for p in paths: - if os.path.exists(p): - with open(p, "r", encoding="utf-8") as f: - text = f.read() - import_csv_text(text, actor='bootstrap') - break + p = os.path.join("/app", "data", "import.csv") + if os.path.exists(p): + with open(p, "r", encoding="utf-8") as f: + text = f.read() + import_csv_text(text, actor='bootstrap') def sync_log_to_db(): """启动时将 app.log 中缺失的数据同步到 DB(只同步今天之前)""" diff --git a/seed/revenue.csv b/seed/revenue.csv deleted file mode 100644 index 7e305b7..0000000 --- a/seed/revenue.csv +++ /dev/null @@ -1,6 +0,0 @@ -date,amount -2025-12-01,12345.67 -2025-12-02,11890.12 -2025-12-03,13200.00 -2025-12-04,11110.50 -2025-12-05,14005.88 diff --git a/seed/revenue.sample.csv b/seed/revenue.sample.csv deleted file mode 100644 index 7e305b7..0000000 --- a/seed/revenue.sample.csv +++ /dev/null @@ -1,6 +0,0 @@ -date,amount -2025-12-01,12345.67 -2025-12-02,11890.12 -2025-12-03,13200.00 -2025-12-04,11110.50 -2025-12-05,14005.88