# Database migrations (golang-migrate) SQL migrations for the OpenGoods database, applied with [golang-migrate](https://github.com/golang-migrate/migrate). Naming: `NNNN_description.up.sql` / `NNNN_description.down.sql`. ## Files | Version | Up | 内容 | |---------|----|------| | 0001 | `0001_init` | 扩展(pgcrypto/pg_trgm/ltree) + 全部核心表 + 索引 + tsvector 触发器 | | 0002 | `0002_seed_units` | 单位字典(与 `ingestion/opengoods/units.py` 一致)+ 常用营养参数定义 | | 0003 | `0003_seed_categories` | 食品品类骨架(GS1 GPC 映射 + 自建中文树)+ 品类参数模板 | ## 运行 先起本地依赖:`docker compose up -d postgres` ```bash export DBURL="postgres://opengoods:opengoods@localhost:5432/opengoods?sslmode=disable" migrate -path migrations -database "$DBURL" up # 升级到最新 migrate -path migrations -database "$DBURL" down -all # 全部回滚 migrate -path migrations -database "$DBURL" version # 查看当前版本 ``` 安装 CLI:`go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@v4.18.1` > ltree 标签为英文 slug(不支持空格/中文),中文名存于 `category.name_zh`。 > `gpc_brick_code` 为食品子集的代表值,后续用官方 GPC 全量导入替换。