-- ============================================================
-- onezan-admin sample 应用表
-- 生成时间: 2026-06-09 12:46:19
-- 表前缀：onezan_
-- ============================================================

-- ----------------------------
-- sample_article
-- ----------------------------
CREATE TABLE IF NOT EXISTS `onezan_sample_article` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `category_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '分类ID',
  `title` varchar(100) NOT NULL DEFAULT '' COMMENT '标题',
  `cover_image` varchar(500) NOT NULL DEFAULT '' COMMENT '封面图',
  `content` text NOT NULL COMMENT '内容',
  `audio_url` varchar(500) NOT NULL DEFAULT '' COMMENT '音频URL',
  `source_url` varchar(500) NOT NULL DEFAULT '' COMMENT '来源链接',
  `price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '价格',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0=下架 1=已发布',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COMMENT='示例文章表';

-- ----------------------------
-- sample_article_event_log
-- ----------------------------
CREATE TABLE IF NOT EXISTS `onezan_sample_article_event_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `article_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文章ID',
  `stage` varchar(30) NOT NULL DEFAULT '' COMMENT '阶段 event/queue_dispatch/queue_handle',
  `event_code` varchar(200) NOT NULL DEFAULT '' COMMENT '事件类名',
  `topic` varchar(120) NOT NULL DEFAULT '' COMMENT '队列主题',
  `message` varchar(255) NOT NULL DEFAULT '' COMMENT '日志说明',
  `payload` text COMMENT '上下文数据',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0=失败 1=成功',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_article_stage` (`article_id`,`stage`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COMMENT='示例文章发布链路日志表';

-- ----------------------------
-- sample_category
-- ----------------------------
CREATE TABLE IF NOT EXISTS `onezan_sample_category` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(50) NOT NULL DEFAULT '' COMMENT '分类名称',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0=禁用 1=启用',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_sort` (`sort`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='示例文章分类表';

-- ----------------------------
-- sample_order
-- ----------------------------
CREATE TABLE IF NOT EXISTS `onezan_sample_order` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
  `article_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文章ID',
  `order_no` varchar(32) NOT NULL DEFAULT '' COMMENT '订单号',
  `amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '金额',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态 0=待支付 1=已支付',
  `pay_time` datetime DEFAULT NULL COMMENT '支付时间',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_order_no` (`order_no`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_article_id` (`article_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='示例订单表';

-- ----------------------------
-- sample_plugin_notice
-- ----------------------------
CREATE TABLE IF NOT EXISTS `onezan_sample_plugin_notice` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `title` varchar(60) NOT NULL DEFAULT '' COMMENT '公告标题',
  `code` varchar(40) NOT NULL DEFAULT '' COMMENT '公告编码',
  `content` text COMMENT '公告内容',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0=停用 1=启用',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_code` (`code`),
  KEY `idx_status_sort` (`status`,`sort`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='示例公告插件表';

