HaniBlindBox/server/HoneyBox/scripts/create_equity_level_tables.sql
2026-01-18 12:42:28 +08:00

234 lines
11 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =============================================
-- 权益等级表创建脚本
-- 用于福利与任务管理模块
-- =============================================
-- 创建权益等级表
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[equity_levels]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[equity_levels] (
[id] INT IDENTITY(1,1) NOT NULL,
[level] INT NOT NULL,
[title] NVARCHAR(100) NOT NULL,
[required_points] INT NOT NULL DEFAULT 0,
[created_at] DATETIME2 DEFAULT GETDATE(),
[updated_at] DATETIME2 DEFAULT GETDATE(),
[deleted_at] DATETIME2 NULL,
CONSTRAINT [pk_equity_levels] PRIMARY KEY CLUSTERED ([id] ASC)
);
-- 添加表注释
EXEC sp_addextendedproperty
@name = N'MS_Description',
@value = N'权益等级表,存储用户权益等级配置',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels';
-- 添加列注释
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'主键ID',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'id';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'等级',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'level';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'等级名称',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'title';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'所需欧气值',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'required_points';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'创建时间',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'created_at';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'更新时间',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'updated_at';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'删除时间(软删除)',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_levels',
@level2type = N'COLUMN', @level2name = N'deleted_at';
-- 创建索引
CREATE INDEX [ix_equity_levels_level] ON [dbo].[equity_levels] ([level]);
CREATE INDEX [ix_equity_levels_deleted_at] ON [dbo].[equity_levels] ([deleted_at]);
PRINT '权益等级表 equity_levels 创建成功';
END
ELSE
BEGIN
PRINT '权益等级表 equity_levels 已存在';
END
GO
-- 创建权益等级奖品表
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[equity_level_prizes]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[equity_level_prizes] (
[id] INT IDENTITY(1,1) NOT NULL,
[qy_level_id] INT NOT NULL,
[qy_level] INT NOT NULL,
[type] TINYINT NOT NULL DEFAULT 2,
[title] NVARCHAR(255) NULL,
[coupon_id] INT NULL,
[z_num] INT NULL DEFAULT 0,
[man_price] DECIMAL(10,2) NULL DEFAULT 0,
[jian_price] DECIMAL(10,2) NULL DEFAULT 0,
[effective_day] INT NULL DEFAULT 0,
[jiang_price] DECIMAL(10,2) NULL DEFAULT 0,
[money] DECIMAL(10,2) NULL DEFAULT 0,
[sc_money] DECIMAL(10,2) NULL DEFAULT 0,
[probability] DECIMAL(5,2) NULL DEFAULT 0,
[imgurl] NVARCHAR(500) NULL,
[prize_code] NVARCHAR(100) NULL,
[shang_id] INT NULL,
[sort] INT NULL DEFAULT 0,
[created_at] DATETIME2 DEFAULT GETDATE(),
[updated_at] DATETIME2 DEFAULT GETDATE(),
[deleted_at] DATETIME2 NULL,
CONSTRAINT [pk_equity_level_prizes] PRIMARY KEY CLUSTERED ([id] ASC),
CONSTRAINT [fk_equity_level_prizes_equity_levels] FOREIGN KEY ([qy_level_id])
REFERENCES [dbo].[equity_levels] ([id]) ON DELETE CASCADE
);
-- 添加表注释
EXEC sp_addextendedproperty
@name = N'MS_Description',
@value = N'权益等级奖品表,存储各等级对应的奖品配置',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes';
-- 添加列注释
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'主键ID',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'id';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'权益等级ID',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'qy_level_id';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'权益等级',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'qy_level';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'奖品类型1-优惠券 2-实物奖品',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'type';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'奖品标题',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'title';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'优惠券ID',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'coupon_id';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'优惠券数量',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'z_num';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'满减门槛',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'man_price';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'减免金额',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'jian_price';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'有效天数',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'effective_day';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'奖品价值',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'jiang_price';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'兑换价格',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'money';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'市场参考价',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'sc_money';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'中奖概率0-100',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'probability';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'奖品图片URL',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'imgurl';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'奖品编码',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'prize_code';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'奖品等级ID',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'shang_id';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'排序',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'sort';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'创建时间',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'created_at';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'更新时间',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'updated_at';
EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'删除时间(软删除)',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'equity_level_prizes',
@level2type = N'COLUMN', @level2name = N'deleted_at';
-- 创建索引
CREATE INDEX [ix_equity_level_prizes_qy_level_id] ON [dbo].[equity_level_prizes] ([qy_level_id]);
CREATE INDEX [ix_equity_level_prizes_type] ON [dbo].[equity_level_prizes] ([type]);
CREATE INDEX [ix_equity_level_prizes_deleted_at] ON [dbo].[equity_level_prizes] ([deleted_at]);
CREATE INDEX [ix_equity_level_prizes_sort] ON [dbo].[equity_level_prizes] ([sort]);
PRINT '权益等级奖品表 equity_level_prizes 创建成功';
END
ELSE
BEGIN
PRINT '权益等级奖品表 equity_level_prizes 已存在';
END
GO
PRINT '权益等级表创建脚本执行完成';
GO