-- +goose Up
CREATE TABLE IF NOT EXISTS notification_templates (
    id BIGSERIAL PRIMARY KEY,
    tenant_id BIGINT NOT NULL DEFAULT 0,
    name VARCHAR(128) NOT NULL,
    type VARCHAR(32) NOT NULL,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    is_active BOOLEAN NOT NULL DEFAULT TRUE,
    created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

COMMENT ON TABLE notification_templates IS '通知模板：用于超管/运营预置通知内容，便于批量触达与统一管理。';
COMMENT ON COLUMN notification_templates.id IS '模板主键ID，用于后台检索与引用。';
COMMENT ON COLUMN notification_templates.tenant_id IS '归属租户ID（0 表示平台级模板）；用于限制模板适用范围。';
COMMENT ON COLUMN notification_templates.name IS '模板名称，用于后台识别用途（如“提现提醒”“内容审核通过”），不直接下发给用户。';
COMMENT ON COLUMN notification_templates.type IS '通知类型（system/order/audit/interaction），需与前端枚举一致，用于分类与筛选。';
COMMENT ON COLUMN notification_templates.title IS '通知标题，直接展示给用户的标题文本。';
COMMENT ON COLUMN notification_templates.content IS '通知内容，直接展示给用户的正文，可包含简要说明与行动提示。';
COMMENT ON COLUMN notification_templates.is_active IS '是否启用；禁用模板不可用于发送，便于临时下架或停用。';
COMMENT ON COLUMN notification_templates.created_at IS '创建时间，按时间排序与审计使用。';
COMMENT ON COLUMN notification_templates.updated_at IS '更新时间，记录最近一次编辑时间。';

-- +goose Down
DROP TABLE IF EXISTS notification_templates;
