patch_yml.py 1.5 KB

1234567891011121314151617181920212223242526272829
  1. # -*- coding: utf-8 -*-
  2. """对 application.yml 做增量修改(不读取/输出密码)"""
  3. import re
  4. YML = r"C:\Users\Administrator\WorkBuddy\2026-10-17-12-27-10\java-rewrite\yoshop-java\src\main\resources\application.yml"
  5. t = open(YML, encoding="utf-8").read()
  6. # 1. jackson 增加 snake_case 全局策略
  7. if "property-naming-strategy" not in t:
  8. t = t.replace(" time-zone: Asia/Shanghai",
  9. " time-zone: Asia/Shanghai\n # PHP 出参全部是 snake_case(goods_id / per_page ...),全局统一\n property-naming-strategy: SNAKE_CASE", 1)
  10. # 2. 逻辑删除约定修正:0=正常 10=删除
  11. t = re.sub(r"logic-delete-value:\s*\d+", "logic-delete-value: 10", t)
  12. t = re.sub(r"logic-not-delete-value:\s*\d+", "logic-not-delete-value: 0", t)
  13. # 3. db-config 增加 table-prefix
  14. if "table-prefix" not in t:
  15. t = t.replace(" db-config:", " db-config:\n # 表统一前缀\n table-prefix: yoshop_", 1)
  16. # 4. 末尾追加 yoshop.base-url
  17. if "base-url" not in t:
  18. t = t.rstrip() + "\n\nyoshop:\n # 本地存储文件的访问域名(storage=local 时 preview_url = base + /uploads/ + file_path)\n base-url: https://shop.qinys.cn\n"
  19. open(YML, "w", encoding="utf-8").write(t)
  20. # 校验关键行存在且不输出密码
  21. for key in ["property-naming-strategy: SNAKE_CASE", "table-prefix: yoshop_",
  22. "logic-delete-value: 10", "logic-not-delete-value: 0", "base-url: https://shop.qinys.cn"]:
  23. print(("OK " if key in t else "MISS") + " " + key)