Alex 657bf6474d 评估-物料价格页面查询接口优化性能 2 dienas atpakaļ
..
addsql 657bf6474d 评估-物料价格页面查询接口优化性能 2 dienas atpakaļ
fullsql 5e4ec77751 评估-抓取历史物料价格功能 3 dienas atpakaļ
README.md 5e4ec77751 评估-抓取历史物料价格功能 3 dienas atpakaļ

README.md

SQL 脚本目录说明

本目录存放数据库变更脚本,按用途分两个子目录:

docs/sql/
├── addsql/    增量脚本:在已有数据库上执行的变更
└── fullsql/   全量脚本:从空库一次性初始化到当前版本

addsql —— 增量脚本

日常开发、迭代产生的数据库变更都放这里,例如:

  • 新建表、新增/修改字段、索引
  • 字典、菜单、权限等初始化数据
  • 数据修复、历史数据补录(如材料价格补采的批量 INSERT)

约定:

  1. 文件名用变更日期:YYYYMMDD.sql;同一天多次提交用 YYYYMMDD_02.sql 递增。
  2. 只写本次变更的内容,不要重复写已存在的结构。
  3. 优先写成可重复执行的语句(CREATE TABLE IF NOT EXISTS 等)。MySQL 的 ADD/DROP COLUMN 不支持 IF NOT EXISTS,这类脚本直接写静态 DDL 即可, 但必须在文件头注明「仅执行一次」,并写清停服/部署顺序。
  4. 上线时按文件名日期顺序依次执行,不要跳序;同日多个脚本用 _02、_03 递增。
  5. 大文件(批量数据导入)也放这里,文件头注明数据范围与来源。
  6. 清库、重置类脚本(TRUNCATE / DELETE 全表)会让每次执行都丢数据, 不要和结构变更混在同一个脚本里,单独成文件并在文件头显著标注影响范围。

fullsql —— 全量脚本

用于新环境初始化、测试库重建、交付部署。约定:

  1. 一个脚本从空库直接建到与当前代码匹配的完整结构(表、索引、基础数据)。
  2. 文件名同样用日期:YYYYMMDD.sql。
  3. 每次结构有变更,除了在 addsql 增加量脚本外,要同步更新 fullsql, 保证新环境不需要再逐个补历史增量。

通用要求

  • 每个脚本文件头写清楚:用途、关联需求/工单、目标库(如 xg_saas)。
  • 生产环境执行前先备份,执行后核对表结构与数据量。
  • 不要把本地调试数据、带真实账号密码的配置写进脚本。