31 lines
1.9 KiB
Go
31 lines
1.9 KiB
Go
// 功能描述:仅新增电商收藏关系表与中文注释;版本:1.0.0。
|
||
package main
|
||
|
||
// migrateEcFavorite 使用既有环境数据库配置,不执行其他表迁移或初始化数据。
|
||
func migrateEcFavorite() error {
|
||
return migrateClientColumns([]string{
|
||
`CREATE TABLE IF NOT EXISTS ec_favorite (
|
||
id bigserial PRIMARY KEY,
|
||
identity varchar(36) NOT NULL UNIQUE,
|
||
created_at timestamptz NOT NULL,
|
||
updated_at timestamptz NOT NULL,
|
||
deleted_at timestamptz,
|
||
status integer NOT NULL DEFAULT 1 CHECK (status IN (1, 3)),
|
||
user_account_id bigint NOT NULL REFERENCES user_account(id),
|
||
ec_product_id bigint NOT NULL REFERENCES ec_product(id),
|
||
revision bigint NOT NULL DEFAULT 1 CHECK (revision > 0),
|
||
CONSTRAINT ux_ec_favorite_owner_product UNIQUE (user_account_id, ec_product_id)
|
||
)`,
|
||
`COMMENT ON TABLE ec_favorite IS '电商商品收藏关系;每账户每商品唯一,取消后归档,下架商品保留'`,
|
||
`COMMENT ON COLUMN ec_favorite.id IS '收藏关系内部自增主键,不向客户端暴露'`,
|
||
`COMMENT ON COLUMN ec_favorite.identity IS '收藏关系公开UUID V7标识'`,
|
||
`COMMENT ON COLUMN ec_favorite.created_at IS '首次建立收藏关系的服务端时间'`,
|
||
`COMMENT ON COLUMN ec_favorite.updated_at IS '最近一次收藏状态变化的服务端时间'`,
|
||
`COMMENT ON COLUMN ec_favorite.deleted_at IS '软删除时间;用户取消收藏不写此字段而使用归档状态'`,
|
||
`COMMENT ON COLUMN ec_favorite.status IS '收藏状态:1=已收藏,3=已取消并归档'`,
|
||
`COMMENT ON COLUMN ec_favorite.user_account_id IS '收藏者账户内部关联键,对应user_account.id'`,
|
||
`COMMENT ON COLUMN ec_favorite.ec_product_id IS '收藏商品内部关联键,对应ec_product.id;商品下架不删除关系'`,
|
||
`COMMENT ON COLUMN ec_favorite.revision IS '正整数并发版本,首次为1,每次收藏状态变化递增,相同目标重试不递增'`,
|
||
})
|
||
}
|