CaiWuXiTong/docker-compose.local.yml
WuYongJie d48cb7d639 feat: 店铺维度报表条件查询与主体归属字段接入
实际修改:
- 店铺维度报表新增真实数据库条件查询:店铺字段走共享镜像 SQL
  WHERE,主体/能否变更/生效/失效走生命周期行级过滤(左闭右开)
- 店铺负责人/部门负责人/利润中心改为店铺账号 PostgreSQL 镜像值,
  按店铺名称关联,未匹配时回退经营分析副本库原值
- 能否变更按主表 platform 判定(唯品会MP/淘工厂=否,其余=是),
  筛选改为 是/否 下拉;默认生效时间 2026-07-01,失效未记录显示存续中
- 主体维度经营报表接入生命周期收入窗口与注册地址解析市字段
- 同步更新视图测试并重写 StoreReportRepositoryTest 匹配 SQLite 实现

验证:容器内 tests/Feature/Business + tests/Unit/EcommerceFinance +
tests/Unit/Business 共 324 passed / 4 skipped;真实数据端到端验证
(无筛选 1935 行、负责人/利润中心/失效区间筛选抽样全对)。
无新增数据库迁移,不涉及生产数据写入。
2026-09-06 19:27:51 +08:00

84 lines
2.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 本地开发/测试用 Compose 文件
# - app 通过 runtime/.env 读取当前系统数据库配置
# - mysql 只用于首次登录和填写“系统数据库”前的临时引导
# - 保存系统数据库后,用户、设置和云数据库登记都来自共享系统数据库
#
# 标准启动:bash deploy/local-init.sh(自动判断是否需要重建镜像)
# 停止: docker compose -f docker-compose.local.yml down
# 日志: docker compose -f docker-compose.local.yml logs -f app
#
# 不要把生产 APP_KEY、其他开发者的 .env 或云数据库密码复制到本机。
services:
app:
build:
context: .
dockerfile: deploy/Dockerfile.local
image: jiangling_akaunting:local
container_name: jiangling_app
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
ports:
- "127.0.0.1:18088:18088"
volumes:
- ./runtime/.env:/var/www/html/.env
- ./runtime/bills.sqlite:/var/www/html/runtime/bills.sqlite:ro
- jiangling_storage:/var/www/html/storage
- ./app:/var/www/html/app
- ./config:/var/www/html/config
- ./database:/var/www/html/database
- ./deploy:/var/www/html/deploy
- ./modules:/var/www/html/modules
- ./resources:/var/www/html/resources
- ./routes:/var/www/html/routes
- ./scripts:/var/www/html/scripts
- ./tests:/var/www/html/tests
networks:
- jiangling_net
healthcheck:
test: ["CMD", "jiangling-healthcheck"]
interval: 15s
timeout: 5s
retries: 10
start_period: 60s
mysql:
image: mysql:8.0
container_name: jiangling_mysql
restart: unless-stopped
# 这些凭据只属于回环地址上的临时引导库,不是团队共享数据库凭据。
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: akaunting
MYSQL_USER: akaunting
MYSQL_PASSWORD: akaunting123
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
volumes:
- jiangling_mysql:/var/lib/mysql
ports:
- "127.0.0.1:13306:3306"
networks:
- jiangling_net
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
interval: 5s
timeout: 5s
retries: 20
start_period: 30s
volumes:
jiangling_storage:
name: jiangling_storage
jiangling_mysql:
name: jiangling_mysql
networks:
jiangling_net:
name: jiangling_net
driver: bridge