在前后端开发联调前 的提交20260223

This commit is contained in:
Neo
2026-02-23 23:02:20 +08:00
parent 254ccb1e77
commit fafc95e64c
1142 changed files with 10366960 additions and 36957 deletions

View File

@@ -0,0 +1,89 @@
"""
批量修正 docs/database/ 下 BD_Manual 文档中的过时路径引用。
- 迁移脚本路径 → 标注为已归档
- DDL 位置 → 更新为新的 docs/database/ddl/ 路径
- 旧 schema 文件引用 → 更新
用法cd C:\\NeoZQYY && python scripts/ops/_fix_bd_manual_refs.py
"""
import re
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent.parent
# 需要处理的目录
DIRS = [
ROOT / "docs" / "database",
ROOT / "apps" / "etl" / "connectors" / "feiqiu" / "docs" / "database",
]
# 路径替换规则
REPLACEMENTS = [
# 迁移脚本路径 → 标注已归档
(r'`db/etl_feiqiu/migrations/([^`]+)`',
r'`db/_archived/ddl_baseline_2026-02-22/db/etl_feiqiu/migrations/\1`(已归档)'),
(r'`db/zqyy_app/migrations/([^`]+)`',
r'`db/_archived/ddl_baseline_2026-02-22/db/zqyy_app/migrations/\1`(已归档)'),
# DDL 位置引用旧 schema 文件
(r'`db/etl_feiqiu/schemas/meta\.sql`', '`docs/database/ddl/etl_feiqiu__meta.sql`'),
(r'`db/etl_feiqiu/schemas/ods\.sql`', '`docs/database/ddl/etl_feiqiu__ods.sql`'),
(r'`db/etl_feiqiu/schemas/dwd\.sql`', '`docs/database/ddl/etl_feiqiu__dwd.sql`'),
(r'`db/etl_feiqiu/schemas/core\.sql`', '`docs/database/ddl/etl_feiqiu__core.sql`'),
(r'`db/etl_feiqiu/schemas/dws\.sql`', '`docs/database/ddl/etl_feiqiu__dws.sql`'),
(r'`db/etl_feiqiu/schemas/app\.sql`', '`docs/database/ddl/etl_feiqiu__app.sql`'),
(r'`db/zqyy_app/schemas/init\.sql`', '`docs/database/ddl/zqyy_app__public.sql`'),
# 旧 schema 文件名(不带路径前缀)
(r'`database/schema_ODS_doc\.sql`', '`docs/database/ddl/etl_feiqiu__ods.sql`'),
(r'`database/schema_dwd_doc\.sql`', '`docs/database/ddl/etl_feiqiu__dwd.sql`'),
(r'`database/schema_dws\.sql`', '`docs/database/ddl/etl_feiqiu__dws.sql`'),
(r'`database/schema_etl_admin\.sql`', '`docs/database/ddl/etl_feiqiu__meta.sql`'),
# DDL 位置行
(r'DDL 位置:`db/etl_feiqiu/schemas/dws\.sql`',
'DDL 位置:`docs/database/ddl/etl_feiqiu__dws.sql`'),
]
def process_file(filepath):
"""处理单个文件,返回修改数量。"""
text = filepath.read_text(encoding="utf-8")
original = text
changes = 0
for pattern, replacement in REPLACEMENTS:
new_text, n = re.subn(pattern, replacement, text)
if n > 0:
changes += n
text = new_text
if changes > 0:
filepath.write_text(text, encoding="utf-8")
return changes
def main():
total_files = 0
total_changes = 0
for d in DIRS:
if not d.exists():
continue
for md_file in sorted(d.rglob("*.md")):
# 跳过 _archived 目录
if "_archived" in str(md_file):
continue
changes = process_file(md_file)
if changes > 0:
rel = md_file.relative_to(ROOT)
print(f"{rel} ({changes} 处替换)")
total_files += 1
total_changes += changes
print(f"\n✅ 完成:修改 {total_files} 个文件,共 {total_changes} 处替换")
if __name__ == "__main__":
main()