Files
goods/migrations
oyaegeli98668 1d5f775d33
CI / Go (api) (pull_request) Failing after 18s
CI / Python (ingestion) (pull_request) Successful in 7s
CI / Migrations (postgres) (pull_request) Failing after 22s
feat(barcode): 多条码管理(后端+迁移+GTIN校验)WIP
- 迁移 0007: 新增 product_barcode 表(一品多码),回填旧 product.gtin 为主码,
  全局唯一索引保证「一码一品」,每品至多一个主码
- internal/gtin: GS1 GTIN-8/12/13/14 校验(校验位 + 拒收店内码/变量重量码/优惠券码)
- 公开只读 API: 任一条码命中商品、详情返回 barcodes、搜索匹配条码
- adminstore: 商品详情含 barcodes;新增 AddBarcode/DeleteBarcode/SetPrimaryBarcode,
  一码命中其他商品返回 ConflictError 供后台去重

待办(按用户要求暂停): 后台 handler 路由、投稿/审核多条码、前后端 UI

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-20 05:54:18 +00:00
..

Database migrations (golang-migrate)

SQL migrations for the OpenGoods database, applied with golang-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

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   # 查看当前版本

安装 CLIgo install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@v4.18.1

ltree 标签为英文 slug(不支持空格/中文),中文名存于 category.name_zhgpc_brick_code 为食品子集的代表值,后续用官方 GPC 全量导入替换。