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,每次收藏状态变化递增,相同目标重试不递增'`,
|
|||
|
|
})
|
|||
|
|
}
|