Files
ocean/backend/scripts/README.md
T
2026-02-01 15:57:42 +08:00

3.2 KiB
Raw Blame History

脚本说明

seed_test_users.py:插入测试用户(供测试工程师使用)

users 表插入 6 个测试账号(管理员、市场部、工程部、技经部、财务部、物贸部各一),统一密码:123456

用法

cd backend
source .venv/bin/activate
PYTHONPATH=src python scripts/seed_test_users.py

测试账号

账号 (username) 角色 密码
admin 管理员 123456
market 市场部 123456
engineer 工程部 123456
tech 技经部 123456
finance 财务部 123456
material 物贸部 123456

(新建项目仅市场部可调,其他角色可查看/修改。)


clean_db.py:清空项目与操作日志表

清空 projectsoperation_logs 表(保留 users)。用于重新导入前清理数据。

用法

cd backend
source .venv/bin/activate
PYTHONPATH=src python scripts/clean_db.py

清理并重新导入(一条命令)

cd backend && source .venv/bin/activate && PYTHONPATH=src python scripts/clean_db.py && PYTHONPATH=src python scripts/import_xls.py ../docs/example.xls

migrate_add_statistics_type.py:为 projects 表增加统计类型列

为已有 projects 表添加 statistics_type 列(若不存在)。

cd backend && PYTHONPATH=src python scripts/migrate_add_statistics_type.py

migrate_statistics_type_repair.py:将已有数据中的「检修、技改、抢修」统一改为「检修-技改-抢修」(一次性执行)。

cd backend && PYTHONPATH=src python scripts/migrate_statistics_type_repair.py

fill_statistics_type_from_xls.py:按「统计」表填充统计类型

根据 docs/example.xls 的「统计」表,为已有项目填充 statistics_type(基建工程、业扩项目、户表、客户工程、营销项目、检修-技改-抢修、其他)。导入数据后建议执行一次。

cd backend && PYTHONPATH=src python scripts/fill_statistics_type_from_xls.py
# 或指定 xls 路径
PYTHONPATH=src python scripts/fill_statistics_type_from_xls.py /path/to/example.xls

import_xls.py:导入 example.xls 到 projects 表

docs/example.xls 中的项目数据导入 ocean 数据库的 projects 表。

前置条件

  1. 已执行 schema.sql 创建数据库和表。
  2. 已配置 .envMySQL 连接信息)。
  3. 已安装依赖:pip install -r requirements.txt(含 mysql-connector-python、xlrd)。

用法

cd backend
source .venv/bin/activate
PYTHONPATH=src python scripts/import_xls.py

默认读取 ../docs/example.xls(相对 backend)。也可指定路径:

PYTHONPATH=src python scripts/import_xls.py /path/to/example.xls

说明

  • 使用第一个 Sheet;表头为第 3 行(row 2),数据从第 6 行(row 5)开始。
  • 仅导入「合同编号」非空的行;若「项目名称」为空则用合同编号或「未命名」。
  • 表头与 schema.sql初始需求 对齐(含「其中:」等前缀的列已映射)。
  • 导入成功后输出:成功条数、跳过条数。