mysql-schema.sql 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082
  1. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  2. /*!40103 SET TIME_ZONE='+00:00' */;
  3. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  4. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  5. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  6. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  7. DROP TABLE IF EXISTS `article`;
  8. /*!40101 SET @saved_cs_client = @@character_set_client */;
  9. /*!40101 SET character_set_client = utf8 */;
  10. CREATE TABLE `article` (
  11. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  12. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '类型:1-文章、2-站内公告、3-站外公告',
  13. `title` varchar(100) NOT NULL COMMENT '标题',
  14. `language` char(5) NOT NULL DEFAULT 'zh_CN' COMMENT '语言',
  15. `category` varchar(255) DEFAULT NULL COMMENT '分组名',
  16. `logo` varchar(255) DEFAULT NULL COMMENT 'LOGO',
  17. `content` text COMMENT '内容',
  18. `sort` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '排序',
  19. `created_at` datetime NOT NULL COMMENT '创建时间',
  20. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  21. `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  22. PRIMARY KEY (`id`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  24. /*!40101 SET character_set_client = @saved_cs_client */;
  25. DROP TABLE IF EXISTS `config`;
  26. /*!40101 SET @saved_cs_client = @@character_set_client */;
  27. /*!40101 SET character_set_client = utf8 */;
  28. CREATE TABLE `config` (
  29. `name` varchar(255) NOT NULL COMMENT '配置名',
  30. `value` text COMMENT '配置值',
  31. PRIMARY KEY (`name`)
  32. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置';
  33. /*!40101 SET character_set_client = @saved_cs_client */;
  34. DROP TABLE IF EXISTS `country`;
  35. /*!40101 SET @saved_cs_client = @@character_set_client */;
  36. /*!40101 SET character_set_client = utf8 */;
  37. CREATE TABLE `country` (
  38. `code` char(2) NOT NULL COMMENT 'ISO国家代码',
  39. `name` varchar(10) NOT NULL COMMENT '名称',
  40. PRIMARY KEY (`code`)
  41. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='国家代码';
  42. /*!40101 SET character_set_client = @saved_cs_client */;
  43. DROP TABLE IF EXISTS `coupon`;
  44. /*!40101 SET @saved_cs_client = @@character_set_client */;
  45. /*!40101 SET character_set_client = utf8 */;
  46. CREATE TABLE `coupon` (
  47. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  48. `name` varchar(50) NOT NULL COMMENT '优惠券名称',
  49. `logo` varchar(255) DEFAULT NULL COMMENT '优惠券LOGO',
  50. `sn` varchar(50) NOT NULL COMMENT '优惠券码',
  51. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '类型:1-抵用券、2-折扣券、3-充值券',
  52. `usable_times` smallint(5) unsigned DEFAULT NULL COMMENT '可使用次数',
  53. `value` int(10) unsigned NOT NULL COMMENT '折扣金额(元)/折扣力度',
  54. `limit` json DEFAULT NULL COMMENT '使用限制',
  55. `priority` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '使用权重, 高者优先',
  56. `start_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '有效期开始',
  57. `end_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '有效期结束',
  58. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-未使用、1-已使用、2-已失效',
  59. `created_at` datetime NOT NULL COMMENT '创建时间',
  60. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  61. `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  62. PRIMARY KEY (`id`)
  63. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='优惠券';
  64. /*!40101 SET character_set_client = @saved_cs_client */;
  65. DROP TABLE IF EXISTS `coupon_log`;
  66. /*!40101 SET @saved_cs_client = @@character_set_client */;
  67. /*!40101 SET character_set_client = utf8 */;
  68. CREATE TABLE `coupon_log` (
  69. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  70. `coupon_id` int(10) unsigned DEFAULT NULL COMMENT '优惠券ID',
  71. `goods_id` int(10) unsigned DEFAULT NULL COMMENT '商品ID',
  72. `order_id` int(10) unsigned DEFAULT NULL COMMENT '订单ID',
  73. `description` varchar(50) DEFAULT NULL COMMENT '备注',
  74. `created_at` datetime NOT NULL COMMENT '创建时间',
  75. PRIMARY KEY (`id`),
  76. KEY `coupon_log_coupon_id_foreign` (`coupon_id`),
  77. KEY `coupon_log_goods_id_foreign` (`goods_id`),
  78. KEY `coupon_log_order_id_foreign` (`order_id`),
  79. CONSTRAINT `coupon_log_coupon_id_foreign` FOREIGN KEY (`coupon_id`) REFERENCES `coupon` (`id`) ON DELETE SET NULL,
  80. CONSTRAINT `coupon_log_goods_id_foreign` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`id`) ON DELETE SET NULL,
  81. CONSTRAINT `coupon_log_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE CASCADE
  82. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='优惠券使用日志';
  83. /*!40101 SET character_set_client = @saved_cs_client */;
  84. DROP TABLE IF EXISTS `email_filter`;
  85. /*!40101 SET @saved_cs_client = @@character_set_client */;
  86. /*!40101 SET character_set_client = utf8 */;
  87. CREATE TABLE `email_filter` (
  88. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  89. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '类型:1-黑名单、2-白名单',
  90. `words` varchar(50) NOT NULL COMMENT '敏感词',
  91. PRIMARY KEY (`id`),
  92. KEY `email_filter_words_type_index` (`words`,`type`)
  93. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='敏感词';
  94. /*!40101 SET character_set_client = @saved_cs_client */;
  95. DROP TABLE IF EXISTS `failed_jobs`;
  96. /*!40101 SET @saved_cs_client = @@character_set_client */;
  97. /*!40101 SET character_set_client = utf8 */;
  98. CREATE TABLE `failed_jobs` (
  99. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  100. `connection` text NOT NULL,
  101. `queue` text NOT NULL,
  102. `payload` longtext NOT NULL,
  103. `exception` longtext NOT NULL,
  104. `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  105. PRIMARY KEY (`id`)
  106. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  107. /*!40101 SET character_set_client = @saved_cs_client */;
  108. DROP TABLE IF EXISTS `goods`;
  109. /*!40101 SET @saved_cs_client = @@character_set_client */;
  110. /*!40101 SET character_set_client = utf8 */;
  111. CREATE TABLE `goods` (
  112. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  113. `name` varchar(100) NOT NULL COMMENT '商品名称',
  114. `logo` varchar(255) DEFAULT NULL COMMENT '商品图片地址',
  115. `traffic` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '商品内含多少流量,单位MiB',
  116. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '商品类型:1-流量包、2-套餐',
  117. `price` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '售价,单位分',
  118. `level` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '购买后给用户授权的等级',
  119. `category_id` int(11) DEFAULT 1 COMMENT '分类ID',
  120. `renew` int(10) unsigned DEFAULT NULL COMMENT '流量重置价格,单位分',
  121. `period` int(10) unsigned DEFAULT NULL COMMENT '流量自动重置周期',
  122. `info` varchar(255) DEFAULT NULL COMMENT '商品信息',
  123. `description` varchar(255) DEFAULT NULL COMMENT '商品描述',
  124. `days` int(10) unsigned NOT NULL DEFAULT '30' COMMENT '有效期',
  125. `invite_num` int(10) unsigned DEFAULT NULL COMMENT '赠送邀请码数',
  126. `limit_num` int(10) unsigned DEFAULT NULL COMMENT '限购数量,默认为null不限购',
  127. `speed_limit` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '商品限速',
  128. `color` varchar(50) NOT NULL DEFAULT 'green' COMMENT '商品颜色',
  129. `sort` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '排序',
  130. `is_hot` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否热销:0-否、1-是',
  131. `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:0-下架、1-上架',
  132. `created_at` datetime NOT NULL COMMENT '创建时间',
  133. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  134. `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  135. PRIMARY KEY (`id`)
  136. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品信息表';
  137. /*!40101 SET character_set_client = @saved_cs_client */;
  138. DROP TABLE IF EXISTS `goods_category`;
  139. /*!40101 SET @saved_cs_client = @@character_set_client */;
  140. /*!40101 SET character_set_client = utf8 */;
  141. CREATE TABLE `goods_category` (
  142. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  143. `name` varchar(255) NOT NULL COMMENT '分类名称',
  144. `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态 0:隐藏 1:显示',
  145. `sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
  146. `created_at` timestamp NULL DEFAULT NULL,
  147. `updated_at` timestamp NULL DEFAULT NULL,
  148. PRIMARY KEY (`id`)
  149. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  150. /*!40101 SET character_set_client = @saved_cs_client */;
  151. DROP TABLE IF EXISTS `invite`;
  152. /*!40101 SET @saved_cs_client = @@character_set_client */;
  153. /*!40101 SET character_set_client = utf8 */;
  154. CREATE TABLE `invite` (
  155. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  156. `inviter_id` int(10) unsigned DEFAULT NULL COMMENT '邀请ID',
  157. `invitee_id` int(10) unsigned DEFAULT NULL COMMENT '受邀ID',
  158. `code` char(12) NOT NULL COMMENT '邀请码',
  159. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '邀请码状态:0-未使用、1-已使用、2-已过期',
  160. `dateline` datetime NOT NULL COMMENT '有效期至',
  161. `created_at` datetime NOT NULL COMMENT '创建时间',
  162. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  163. `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  164. PRIMARY KEY (`id`),
  165. UNIQUE KEY `invite_code_unique` (`code`),
  166. KEY `invite_inviter_id_foreign` (`inviter_id`),
  167. KEY `invite_invitee_id_foreign` (`invitee_id`),
  168. CONSTRAINT `invite_invitee_id_foreign` FOREIGN KEY (`invitee_id`) REFERENCES `user` (`id`) ON DELETE SET NULL,
  169. CONSTRAINT `invite_inviter_id_foreign` FOREIGN KEY (`inviter_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  170. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='邀请码表';
  171. /*!40101 SET character_set_client = @saved_cs_client */;
  172. DROP TABLE IF EXISTS `jobs`;
  173. /*!40101 SET @saved_cs_client = @@character_set_client */;
  174. /*!40101 SET character_set_client = utf8 */;
  175. CREATE TABLE `jobs` (
  176. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  177. `queue` varchar(255) NOT NULL,
  178. `payload` longtext NOT NULL,
  179. `attempts` tinyint(3) unsigned NOT NULL,
  180. `reserved_at` int(10) unsigned DEFAULT NULL,
  181. `available_at` int(10) unsigned NOT NULL,
  182. `created_at` int(10) unsigned NOT NULL,
  183. PRIMARY KEY (`id`),
  184. KEY `jobs_queue_index` (`queue`)
  185. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  186. /*!40101 SET character_set_client = @saved_cs_client */;
  187. DROP TABLE IF EXISTS `label`;
  188. /*!40101 SET @saved_cs_client = @@character_set_client */;
  189. /*!40101 SET character_set_client = utf8 */;
  190. CREATE TABLE `label` (
  191. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  192. `name` varchar(255) NOT NULL COMMENT '名称',
  193. `sort` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '排序值',
  194. PRIMARY KEY (`id`)
  195. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='标签';
  196. /*!40101 SET character_set_client = @saved_cs_client */;
  197. DROP TABLE IF EXISTS `label_node`;
  198. /*!40101 SET @saved_cs_client = @@character_set_client */;
  199. /*!40101 SET character_set_client = utf8 */;
  200. CREATE TABLE `label_node` (
  201. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  202. `node_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '节点ID',
  203. `label_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '标签ID',
  204. PRIMARY KEY (`id`),
  205. UNIQUE KEY `node_label_node_id_label_id_unique` (`node_id`,`label_id`),
  206. KEY `idx_node_label` (`node_id`,`label_id`),
  207. KEY `node_label_label_id_foreign` (`label_id`),
  208. CONSTRAINT `node_label_label_id_foreign` FOREIGN KEY (`label_id`) REFERENCES `label` (`id`) ON DELETE CASCADE,
  209. CONSTRAINT `node_label_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE
  210. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点标签';
  211. /*!40101 SET character_set_client = @saved_cs_client */;
  212. DROP TABLE IF EXISTS `level`;
  213. /*!40101 SET @saved_cs_client = @@character_set_client */;
  214. /*!40101 SET character_set_client = utf8 */;
  215. CREATE TABLE `level` (
  216. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  217. `level` tinyint(3) unsigned NOT NULL COMMENT '等级',
  218. `name` varchar(100) NOT NULL COMMENT '等级名称',
  219. PRIMARY KEY (`id`),
  220. UNIQUE KEY `level_level_unique` (`level`)
  221. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='等级表';
  222. /*!40101 SET character_set_client = @saved_cs_client */;
  223. DROP TABLE IF EXISTS `marketing`;
  224. /*!40101 SET @saved_cs_client = @@character_set_client */;
  225. /*!40101 SET character_set_client = utf8 */;
  226. CREATE TABLE `marketing` (
  227. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  228. `type` tinyint(1) unsigned NOT NULL COMMENT '类型:1-邮件群发',
  229. `receiver` text NOT NULL COMMENT '接收者',
  230. `title` varchar(255) NOT NULL COMMENT '标题',
  231. `content` text NOT NULL COMMENT '内容',
  232. `error` varchar(255) DEFAULT NULL COMMENT '错误信息',
  233. `status` tinyint(1) NOT NULL COMMENT '状态:-1-失败、0-待发送、1-成功',
  234. `created_at` datetime NOT NULL COMMENT '创建时间',
  235. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  236. PRIMARY KEY (`id`)
  237. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  238. /*!40101 SET character_set_client = @saved_cs_client */;
  239. DROP TABLE IF EXISTS `migrations`;
  240. /*!40101 SET @saved_cs_client = @@character_set_client */;
  241. /*!40101 SET character_set_client = utf8 */;
  242. CREATE TABLE `migrations` (
  243. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  244. `migration` varchar(255) NOT NULL,
  245. `batch` int(11) NOT NULL,
  246. PRIMARY KEY (`id`)
  247. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  248. /*!40101 SET character_set_client = @saved_cs_client */;
  249. DROP TABLE IF EXISTS `model_has_permissions`;
  250. /*!40101 SET @saved_cs_client = @@character_set_client */;
  251. /*!40101 SET character_set_client = utf8 */;
  252. CREATE TABLE `model_has_permissions` (
  253. `permission_id` bigint(20) unsigned NOT NULL,
  254. `model_type` varchar(255) NOT NULL,
  255. `model_id` bigint(20) unsigned NOT NULL,
  256. PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  257. KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`),
  258. CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE
  259. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  260. /*!40101 SET character_set_client = @saved_cs_client */;
  261. DROP TABLE IF EXISTS `model_has_roles`;
  262. /*!40101 SET @saved_cs_client = @@character_set_client */;
  263. /*!40101 SET character_set_client = utf8 */;
  264. CREATE TABLE `model_has_roles` (
  265. `role_id` bigint(20) unsigned NOT NULL,
  266. `model_type` varchar(255) NOT NULL,
  267. `model_id` bigint(20) unsigned NOT NULL,
  268. PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  269. KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`),
  270. CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
  271. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  272. /*!40101 SET character_set_client = @saved_cs_client */;
  273. DROP TABLE IF EXISTS `node`;
  274. /*!40101 SET @saved_cs_client = @@character_set_client */;
  275. /*!40101 SET character_set_client = utf8 */;
  276. CREATE TABLE `node` (
  277. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  278. `type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '服务类型:1-Shadowsocks(R)、2-V2ray、3-Trojan、4-VNet',
  279. `name` varchar(128) NOT NULL COMMENT '名称',
  280. `country_code` char(5) NOT NULL DEFAULT 'un' COMMENT '国家代码',
  281. `server` varchar(255) DEFAULT NULL COMMENT '服务器域名地址',
  282. `ip` text COMMENT '服务器IPV4地址',
  283. `ipv6` text COMMENT '服务器IPV6地址',
  284. `level` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '等级:0-无等级,全部可见',
  285. `rule_group_id` int(10) unsigned DEFAULT NULL COMMENT '从属规则分组ID',
  286. `speed_limit` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '节点限速,为0表示不限速,单位Byte',
  287. `client_limit` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT '设备数限制',
  288. `description` varchar(255) DEFAULT NULL COMMENT '节点简单描述',
  289. `profile` json NOT NULL COMMENT '节点设置选项',
  290. `geo` varchar(255) DEFAULT NULL COMMENT '节点地理位置',
  291. `traffic_rate` double(6,2) unsigned NOT NULL DEFAULT '1.00' COMMENT '流量比率',
  292. `is_display` tinyint(4) NOT NULL DEFAULT '3' COMMENT '节点显示模式:0-不显示、1-只页面、2-只订阅、3-都可',
  293. `is_ddns` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否使用DDNS:0-否、1-是',
  294. `relay_node_id` int(10) unsigned DEFAULT NULL COMMENT '中转节点对接母节点, 默认NULL',
  295. `is_udp` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用UDP:0-不启用、1-启用',
  296. `push_port` smallint(5) unsigned NOT NULL DEFAULT '1000' COMMENT '消息推送端口',
  297. `detection_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '节点检测: 0-关闭、1-只检测TCP、2-只检测ICMP、3-检测全部',
  298. `port` smallint(5) unsigned DEFAULT NULL COMMENT '单端口的端口号或连接端口号',
  299. `sort` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '排序值,值越大越靠前显示',
  300. `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:0-维护、1-正常',
  301. `created_at` datetime NOT NULL COMMENT '创建时间',
  302. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  303. PRIMARY KEY (`id`),
  304. KEY `node_type_index` (`type`),
  305. KEY `node_rule_group_id_foreign` (`rule_group_id`),
  306. CONSTRAINT `node_rule_group_id_foreign` FOREIGN KEY (`rule_group_id`) REFERENCES `rule_group` (`id`) ON DELETE SET NULL
  307. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点信息表';
  308. /*!40101 SET character_set_client = @saved_cs_client */;
  309. DROP TABLE IF EXISTS `node_auth`;
  310. /*!40101 SET @saved_cs_client = @@character_set_client */;
  311. /*!40101 SET character_set_client = utf8 */;
  312. CREATE TABLE `node_auth` (
  313. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  314. `node_id` int(10) unsigned NOT NULL COMMENT '授权节点ID',
  315. `key` char(16) NOT NULL COMMENT '认证KEY',
  316. `secret` char(8) NOT NULL COMMENT '通信密钥',
  317. `created_at` datetime NOT NULL COMMENT '创建时间',
  318. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  319. PRIMARY KEY (`id`),
  320. KEY `node_auth_node_id_foreign` (`node_id`),
  321. CONSTRAINT `node_auth_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE
  322. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点授权密钥表';
  323. /*!40101 SET character_set_client = @saved_cs_client */;
  324. DROP TABLE IF EXISTS `node_certificate`;
  325. /*!40101 SET @saved_cs_client = @@character_set_client */;
  326. /*!40101 SET character_set_client = utf8 */;
  327. CREATE TABLE `node_certificate` (
  328. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  329. `domain` varchar(255) NOT NULL COMMENT '域名',
  330. `key` text COMMENT '域名证书KEY',
  331. `pem` text COMMENT '域名证书PEM',
  332. `created_at` datetime NOT NULL COMMENT '创建时间',
  333. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  334. PRIMARY KEY (`id`),
  335. UNIQUE KEY `node_certificate_domain_unique` (`domain`)
  336. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='域名证书';
  337. /*!40101 SET character_set_client = @saved_cs_client */;
  338. DROP TABLE IF EXISTS `node_daily_data_flow`;
  339. /*!40101 SET @saved_cs_client = @@character_set_client */;
  340. /*!40101 SET character_set_client = utf8 */;
  341. CREATE TABLE `node_daily_data_flow` (
  342. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  343. `node_id` int(10) unsigned NOT NULL COMMENT '节点ID',
  344. `u` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '上传流量',
  345. `d` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '下载流量',
  346. `total` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '总流量',
  347. `traffic` varchar(255) DEFAULT NULL COMMENT '总流量(带单位)',
  348. `created_at` datetime NOT NULL COMMENT '创建时间',
  349. PRIMARY KEY (`id`),
  350. KEY `node_daily_data_flow_node_id_index` (`node_id`),
  351. CONSTRAINT `node_daily_data_flow_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE
  352. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  353. /*!40101 SET character_set_client = @saved_cs_client */;
  354. DROP TABLE IF EXISTS `node_heartbeat`;
  355. /*!40101 SET @saved_cs_client = @@character_set_client */;
  356. /*!40101 SET character_set_client = utf8 */;
  357. CREATE TABLE `node_heartbeat` (
  358. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  359. `node_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '节点ID',
  360. `uptime` int(10) unsigned NOT NULL COMMENT '后端存活时长,单位秒',
  361. `load` varchar(255) NOT NULL COMMENT '负载',
  362. `log_time` int(10) unsigned NOT NULL COMMENT '记录时间',
  363. PRIMARY KEY (`id`),
  364. KEY `node_heartbeat_node_id_index` (`node_id`),
  365. CONSTRAINT `node_heartbeat_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE
  366. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点心跳信息';
  367. /*!40101 SET character_set_client = @saved_cs_client */;
  368. DROP TABLE IF EXISTS `node_hourly_data_flow`;
  369. /*!40101 SET @saved_cs_client = @@character_set_client */;
  370. /*!40101 SET character_set_client = utf8 */;
  371. CREATE TABLE `node_hourly_data_flow` (
  372. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  373. `node_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '节点ID',
  374. `u` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '上传流量',
  375. `d` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '下载流量',
  376. `total` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '总流量',
  377. `traffic` varchar(255) DEFAULT NULL COMMENT '总流量(带单位)',
  378. `created_at` datetime NOT NULL COMMENT '创建时间',
  379. PRIMARY KEY (`id`),
  380. KEY `node_hourly_data_flow_node_id_index` (`node_id`),
  381. CONSTRAINT `node_hourly_data_flow_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE
  382. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  383. /*!40101 SET character_set_client = @saved_cs_client */;
  384. DROP TABLE IF EXISTS `node_online_ip`;
  385. /*!40101 SET @saved_cs_client = @@character_set_client */;
  386. /*!40101 SET character_set_client = utf8 */;
  387. CREATE TABLE `node_online_ip` (
  388. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  389. `node_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '节点ID',
  390. `user_id` int(10) unsigned DEFAULT NULL COMMENT '用户ID',
  391. `port` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT '端口',
  392. `type` char(3) NOT NULL DEFAULT 'tcp' COMMENT '类型:all、tcp、udp',
  393. `ip` text COMMENT '连接IP:每个IP用,号隔开',
  394. `created_at` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '上报时间',
  395. PRIMARY KEY (`id`),
  396. KEY `node_online_ip_node_id_index` (`node_id`),
  397. KEY `node_online_ip_user_id_index` (`user_id`),
  398. KEY `node_online_ip_port_index` (`port`),
  399. CONSTRAINT `node_online_ip_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE,
  400. CONSTRAINT `node_online_ip_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  401. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  402. /*!40101 SET character_set_client = @saved_cs_client */;
  403. DROP TABLE IF EXISTS `node_online_log`;
  404. /*!40101 SET @saved_cs_client = @@character_set_client */;
  405. /*!40101 SET character_set_client = utf8 */;
  406. CREATE TABLE `node_online_log` (
  407. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  408. `node_id` int(10) unsigned NOT NULL COMMENT '节点ID',
  409. `online_user` int(10) unsigned NOT NULL COMMENT '在线用户数',
  410. `log_time` int(10) unsigned NOT NULL COMMENT '记录时间',
  411. PRIMARY KEY (`id`),
  412. KEY `node_online_log_node_id_index` (`node_id`),
  413. CONSTRAINT `node_online_log_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE
  414. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点在线信息';
  415. /*!40101 SET character_set_client = @saved_cs_client */;
  416. DROP TABLE IF EXISTS `node_user_group`;
  417. /*!40101 SET @saved_cs_client = @@character_set_client */;
  418. /*!40101 SET character_set_client = utf8 */;
  419. CREATE TABLE `node_user_group` (
  420. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  421. `node_id` int(10) unsigned NOT NULL COMMENT '节点ID',
  422. `user_group_id` int(10) unsigned NOT NULL COMMENT '从属用户分组ID',
  423. PRIMARY KEY (`id`),
  424. UNIQUE KEY `node_user_group_user_group_id_node_id_unique` (`user_group_id`,`node_id`),
  425. KEY `node_user_group_node_id_foreign` (`node_id`),
  426. CONSTRAINT `node_user_group_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE,
  427. CONSTRAINT `node_user_group_user_group_id_foreign` FOREIGN KEY (`user_group_id`) REFERENCES `user_group` (`id`) ON DELETE CASCADE
  428. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  429. /*!40101 SET character_set_client = @saved_cs_client */;
  430. DROP TABLE IF EXISTS `notification_log`;
  431. /*!40101 SET @saved_cs_client = @@character_set_client */;
  432. /*!40101 SET character_set_client = utf8 */;
  433. CREATE TABLE `notification_log` (
  434. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  435. `msg_id` char(36) DEFAULT NULL COMMENT '消息对公查询号',
  436. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '类型:1-邮件、2-ServerChan、3-Bark、4-Telegram',
  437. `address` varchar(255) NOT NULL COMMENT '收信地址',
  438. `title` varchar(255) NOT NULL COMMENT '标题',
  439. `content` text NOT NULL COMMENT '内容',
  440. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:-1发送失败、0-等待发送、1-发送成功',
  441. `error` text COMMENT '发送失败抛出的异常信息',
  442. `created_at` datetime NOT NULL COMMENT '创建时间',
  443. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  444. PRIMARY KEY (`id`)
  445. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知投递记录';
  446. /*!40101 SET character_set_client = @saved_cs_client */;
  447. DROP TABLE IF EXISTS `notifications`;
  448. /*!40101 SET @saved_cs_client = @@character_set_client */;
  449. /*!40101 SET character_set_client = utf8 */;
  450. CREATE TABLE `notifications` (
  451. `id` char(36) NOT NULL,
  452. `type` varchar(255) NOT NULL,
  453. `notifiable_type` varchar(255) NOT NULL,
  454. `notifiable_id` bigint(20) unsigned NOT NULL,
  455. `data` text NOT NULL,
  456. `read_at` timestamp NULL DEFAULT NULL,
  457. `created_at` timestamp NULL DEFAULT NULL,
  458. `updated_at` timestamp NULL DEFAULT NULL,
  459. PRIMARY KEY (`id`),
  460. KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`)
  461. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  462. /*!40101 SET character_set_client = @saved_cs_client */;
  463. DROP TABLE IF EXISTS `order`;
  464. /*!40101 SET @saved_cs_client = @@character_set_client */;
  465. /*!40101 SET character_set_client = utf8 */;
  466. CREATE TABLE `order` (
  467. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  468. `sn` varchar(20) NOT NULL COMMENT '订单编号',
  469. `user_id` int(10) unsigned NOT NULL COMMENT '购买者ID',
  470. `goods_id` int(10) unsigned DEFAULT NULL COMMENT '商品ID',
  471. `coupon_id` int(10) unsigned DEFAULT NULL COMMENT '优惠券ID',
  472. `origin_amount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '订单原始总价,单位分',
  473. `amount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '订单总价,单位分',
  474. `expired_at` datetime DEFAULT NULL COMMENT '过期时间',
  475. `is_expire` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已过期:0-未过期、1-已过期',
  476. `pay_type` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '支付渠道:0-余额、1-支付宝、2-QQ、3-微信、4-虚拟货币、5-paypal',
  477. `pay_way` varchar(10) NOT NULL DEFAULT 'balance' COMMENT '支付方式:balance、f2fpay、codepay、payjs、bitpayx等',
  478. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态:-1-已关闭、0-待支付、1-已支付待确认、2-已完成',
  479. `created_at` datetime NOT NULL COMMENT '创建时间',
  480. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  481. PRIMARY KEY (`id`),
  482. KEY `idx_order_search` (`user_id`,`goods_id`,`is_expire`,`status`),
  483. KEY `order_goods_id_foreign` (`goods_id`),
  484. KEY `order_coupon_id_foreign` (`coupon_id`),
  485. CONSTRAINT `order_coupon_id_foreign` FOREIGN KEY (`coupon_id`) REFERENCES `coupon` (`id`) ON DELETE SET NULL,
  486. CONSTRAINT `order_goods_id_foreign` FOREIGN KEY (`goods_id`) REFERENCES `goods` (`id`) ON DELETE SET NULL,
  487. CONSTRAINT `order_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  488. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单信息表';
  489. /*!40101 SET character_set_client = @saved_cs_client */;
  490. DROP TABLE IF EXISTS `payment`;
  491. /*!40101 SET @saved_cs_client = @@character_set_client */;
  492. /*!40101 SET character_set_client = utf8 */;
  493. CREATE TABLE `payment` (
  494. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  495. `trade_no` varchar(64) NOT NULL COMMENT '支付单号(本地订单号)',
  496. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  497. `order_id` int(10) unsigned NOT NULL COMMENT '本地订单ID',
  498. `amount` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '金额,单位分',
  499. `qr_code` text COMMENT '支付二维码',
  500. `url` text COMMENT '支付链接',
  501. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '支付状态:-1-支付失败、0-等待支付、1-支付成功',
  502. `created_at` datetime NOT NULL COMMENT '创建时间',
  503. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  504. PRIMARY KEY (`id`),
  505. KEY `payment_user_id_order_id_index` (`user_id`,`order_id`),
  506. KEY `payment_order_id_foreign` (`order_id`),
  507. CONSTRAINT `payment_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE CASCADE,
  508. CONSTRAINT `payment_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  509. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  510. /*!40101 SET character_set_client = @saved_cs_client */;
  511. DROP TABLE IF EXISTS `payment_callback`;
  512. /*!40101 SET @saved_cs_client = @@character_set_client */;
  513. /*!40101 SET character_set_client = utf8 */;
  514. CREATE TABLE `payment_callback` (
  515. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  516. `trade_no` varchar(64) NOT NULL COMMENT '本地订单号',
  517. `out_trade_no` varchar(64) NOT NULL COMMENT '外部订单号(支付平台)',
  518. `amount` int(10) unsigned NOT NULL COMMENT '交易金额,单位分',
  519. `status` tinyint(1) NOT NULL COMMENT '交易状态:0-失败、1-成功',
  520. `created_at` datetime NOT NULL COMMENT '创建时间',
  521. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  522. PRIMARY KEY (`id`)
  523. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付回调日志';
  524. /*!40101 SET character_set_client = @saved_cs_client */;
  525. DROP TABLE IF EXISTS `permissions`;
  526. /*!40101 SET @saved_cs_client = @@character_set_client */;
  527. /*!40101 SET character_set_client = utf8 */;
  528. CREATE TABLE `permissions` (
  529. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  530. `name` varchar(255) NOT NULL,
  531. `description` varchar(255) NOT NULL,
  532. `guard_name` varchar(255) NOT NULL,
  533. `created_at` timestamp NULL DEFAULT NULL,
  534. `updated_at` timestamp NULL DEFAULT NULL,
  535. PRIMARY KEY (`id`)
  536. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  537. /*!40101 SET character_set_client = @saved_cs_client */;
  538. DROP TABLE IF EXISTS `personal_access_tokens`;
  539. /*!40101 SET @saved_cs_client = @@character_set_client */;
  540. /*!40101 SET character_set_client = utf8 */;
  541. CREATE TABLE `personal_access_tokens` (
  542. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  543. `tokenable_type` varchar(255) NOT NULL,
  544. `tokenable_id` bigint(20) unsigned NOT NULL,
  545. `name` varchar(255) NOT NULL,
  546. `token` varchar(64) NOT NULL,
  547. `abilities` text,
  548. `last_used_at` timestamp NULL DEFAULT NULL,
  549. `created_at` timestamp NULL DEFAULT NULL,
  550. `updated_at` timestamp NULL DEFAULT NULL,
  551. PRIMARY KEY (`id`),
  552. UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  553. KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
  554. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  555. /*!40101 SET character_set_client = @saved_cs_client */;
  556. DROP TABLE IF EXISTS `referral_apply`;
  557. /*!40101 SET @saved_cs_client = @@character_set_client */;
  558. /*!40101 SET character_set_client = utf8 */;
  559. CREATE TABLE `referral_apply` (
  560. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  561. `user_id` int(10) unsigned NOT NULL COMMENT '申请者ID',
  562. `before` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '操作前可提现金额,单位分',
  563. `after` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '操作后可提现金额,单位分',
  564. `amount` int(10) unsigned NOT NULL COMMENT '本次提现金额,单位分',
  565. `link_logs` json NOT NULL COMMENT '关联返利日志ID,例如:1,3,4',
  566. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:-1-驳回、0-待审核、1-审核通过待打款、2-已打款',
  567. `created_at` datetime NOT NULL COMMENT '创建时间',
  568. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  569. PRIMARY KEY (`id`),
  570. KEY `referral_apply_user_id_foreign` (`user_id`),
  571. CONSTRAINT `referral_apply_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  572. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='提现申请';
  573. /*!40101 SET character_set_client = @saved_cs_client */;
  574. DROP TABLE IF EXISTS `referral_log`;
  575. /*!40101 SET @saved_cs_client = @@character_set_client */;
  576. /*!40101 SET character_set_client = utf8 */;
  577. CREATE TABLE `referral_log` (
  578. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  579. `invitee_id` int(10) unsigned DEFAULT NULL COMMENT '用户ID',
  580. `inviter_id` int(10) unsigned NOT NULL COMMENT '推广人ID',
  581. `order_id` int(10) unsigned DEFAULT NULL COMMENT '关联订单ID',
  582. `amount` int(10) unsigned NOT NULL COMMENT '消费金额,单位分',
  583. `commission` int(10) unsigned NOT NULL COMMENT '返利金额',
  584. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-未提现、1-审核中、2-已提现',
  585. `created_at` datetime NOT NULL COMMENT '创建时间',
  586. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  587. PRIMARY KEY (`id`),
  588. KEY `referral_log_invitee_id_foreign` (`invitee_id`),
  589. KEY `referral_log_order_id_foreign` (`order_id`),
  590. KEY `referral_log_inviter_id_invitee_id_index` (`inviter_id`,`invitee_id`),
  591. CONSTRAINT `referral_log_invitee_id_foreign` FOREIGN KEY (`invitee_id`) REFERENCES `user` (`id`) ON DELETE SET NULL,
  592. CONSTRAINT `referral_log_inviter_id_foreign` FOREIGN KEY (`inviter_id`) REFERENCES `user` (`id`) ON DELETE CASCADE,
  593. CONSTRAINT `referral_log_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE SET NULL
  594. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消费返利日志';
  595. /*!40101 SET character_set_client = @saved_cs_client */;
  596. DROP TABLE IF EXISTS `role_has_permissions`;
  597. /*!40101 SET @saved_cs_client = @@character_set_client */;
  598. /*!40101 SET character_set_client = utf8 */;
  599. CREATE TABLE `role_has_permissions` (
  600. `permission_id` bigint(20) unsigned NOT NULL,
  601. `role_id` bigint(20) unsigned NOT NULL,
  602. PRIMARY KEY (`permission_id`,`role_id`),
  603. KEY `role_has_permissions_role_id_foreign` (`role_id`),
  604. CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  605. CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
  606. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  607. /*!40101 SET character_set_client = @saved_cs_client */;
  608. DROP TABLE IF EXISTS `roles`;
  609. /*!40101 SET @saved_cs_client = @@character_set_client */;
  610. /*!40101 SET character_set_client = utf8 */;
  611. CREATE TABLE `roles` (
  612. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  613. `name` varchar(255) NOT NULL,
  614. `description` varchar(255) NOT NULL,
  615. `guard_name` varchar(255) NOT NULL,
  616. `created_at` timestamp NULL DEFAULT NULL,
  617. `updated_at` timestamp NULL DEFAULT NULL,
  618. PRIMARY KEY (`id`)
  619. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  620. /*!40101 SET character_set_client = @saved_cs_client */;
  621. DROP TABLE IF EXISTS `rule`;
  622. /*!40101 SET @saved_cs_client = @@character_set_client */;
  623. /*!40101 SET character_set_client = utf8 */;
  624. CREATE TABLE `rule` (
  625. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  626. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '类型:1-正则表达式、2-域名、3-IP、4-协议',
  627. `name` varchar(100) NOT NULL COMMENT '规则描述',
  628. `pattern` text NOT NULL COMMENT '规则值',
  629. PRIMARY KEY (`id`)
  630. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计规则';
  631. /*!40101 SET character_set_client = @saved_cs_client */;
  632. DROP TABLE IF EXISTS `rule_group`;
  633. /*!40101 SET @saved_cs_client = @@character_set_client */;
  634. /*!40101 SET character_set_client = utf8 */;
  635. CREATE TABLE `rule_group` (
  636. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  637. `type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '模式:1-阻断、0-放行',
  638. `name` varchar(255) NOT NULL COMMENT '分组名称',
  639. `created_at` datetime NOT NULL COMMENT '创建时间',
  640. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  641. PRIMARY KEY (`id`)
  642. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计规则分组';
  643. /*!40101 SET character_set_client = @saved_cs_client */;
  644. DROP TABLE IF EXISTS `rule_log`;
  645. /*!40101 SET @saved_cs_client = @@character_set_client */;
  646. /*!40101 SET character_set_client = utf8 */;
  647. CREATE TABLE `rule_log` (
  648. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  649. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '触发者ID',
  650. `node_id` int(10) unsigned DEFAULT NULL COMMENT '节点ID',
  651. `rule_id` int(10) unsigned DEFAULT 0 COMMENT '规则ID,0表示白名单模式下访问访问了非规则允许的网址',
  652. `reason` varchar(255) DEFAULT NULL COMMENT '触发原因',
  653. `created_at` datetime NOT NULL COMMENT '创建时间',
  654. PRIMARY KEY (`id`),
  655. KEY `idx` (`user_id`,`node_id`,`rule_id`),
  656. KEY `rule_log_node_id_foreign` (`node_id`),
  657. KEY `rule_log_rule_id_foreign` (`rule_id`),
  658. CONSTRAINT `rule_log_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE SET NULL,
  659. CONSTRAINT `rule_log_rule_id_foreign` FOREIGN KEY (`rule_id`) REFERENCES `rule` (`id`) ON DELETE SET NULL,
  660. CONSTRAINT `rule_log_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  661. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='触发审计规则日志表';
  662. /*!40101 SET character_set_client = @saved_cs_client */;
  663. DROP TABLE IF EXISTS `rule_rule_group`;
  664. /*!40101 SET @saved_cs_client = @@character_set_client */;
  665. /*!40101 SET character_set_client = utf8 */;
  666. CREATE TABLE `rule_rule_group` (
  667. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  668. `rule_id` int(10) unsigned NOT NULL COMMENT '规则ID',
  669. `rule_group_id` int(10) unsigned NOT NULL COMMENT '从属规则分组ID',
  670. PRIMARY KEY (`id`),
  671. UNIQUE KEY `rule_rule_group_rule_group_id_rule_id_unique` (`rule_group_id`,`rule_id`),
  672. KEY `rule_rule_group_rule_id_foreign` (`rule_id`),
  673. CONSTRAINT `rule_rule_group_rule_group_id_foreign` FOREIGN KEY (`rule_group_id`) REFERENCES `rule_group` (`id`) ON DELETE CASCADE,
  674. CONSTRAINT `rule_rule_group_rule_id_foreign` FOREIGN KEY (`rule_id`) REFERENCES `rule` (`id`) ON DELETE CASCADE
  675. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  676. /*!40101 SET character_set_client = @saved_cs_client */;
  677. DROP TABLE IF EXISTS `ss_config`;
  678. /*!40101 SET @saved_cs_client = @@character_set_client */;
  679. /*!40101 SET character_set_client = utf8 */;
  680. CREATE TABLE `ss_config` (
  681. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  682. `name` varchar(50) NOT NULL COMMENT '配置名',
  683. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '类型:1-加密方式、2-协议、3-混淆',
  684. `is_default` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否默认:0-不是、1-是',
  685. `sort` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '排序:值越大排越前',
  686. PRIMARY KEY (`id`),
  687. KEY `ss_config_type_index` (`type`)
  688. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  689. /*!40101 SET character_set_client = @saved_cs_client */;
  690. DROP TABLE IF EXISTS `ticket`;
  691. /*!40101 SET @saved_cs_client = @@character_set_client */;
  692. /*!40101 SET character_set_client = utf8 */;
  693. CREATE TABLE `ticket` (
  694. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  695. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  696. `admin_id` int(10) unsigned DEFAULT NULL COMMENT '管理员ID',
  697. `title` varchar(255) NOT NULL COMMENT '标题',
  698. `content` text NOT NULL COMMENT '内容',
  699. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-待处理、1-已处理未关闭、2-已关闭',
  700. `created_at` datetime NOT NULL COMMENT '创建时间',
  701. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  702. PRIMARY KEY (`id`),
  703. KEY `ticket_user_id_foreign` (`user_id`),
  704. KEY `ticket_admin_id_foreign` (`admin_id`),
  705. CONSTRAINT `ticket_admin_id_foreign` FOREIGN KEY (`admin_id`) REFERENCES `user` (`id`) ON DELETE SET NULL,
  706. CONSTRAINT `ticket_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  707. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  708. /*!40101 SET character_set_client = @saved_cs_client */;
  709. DROP TABLE IF EXISTS `ticket_reply`;
  710. /*!40101 SET @saved_cs_client = @@character_set_client */;
  711. /*!40101 SET character_set_client = utf8 */;
  712. CREATE TABLE `ticket_reply` (
  713. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  714. `ticket_id` int(10) unsigned NOT NULL COMMENT '工单ID',
  715. `user_id` int(10) unsigned DEFAULT NULL COMMENT '用户ID',
  716. `admin_id` int(10) unsigned DEFAULT NULL COMMENT '管理员ID',
  717. `content` text NOT NULL COMMENT '回复内容',
  718. `created_at` datetime NOT NULL COMMENT '创建时间',
  719. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  720. PRIMARY KEY (`id`),
  721. KEY `ticket_reply_user_id_foreign` (`user_id`),
  722. KEY `ticket_reply_admin_id_foreign` (`admin_id`),
  723. KEY `ticket_reply_ticket_id_foreign` (`ticket_id`),
  724. CONSTRAINT `ticket_reply_admin_id_foreign` FOREIGN KEY (`admin_id`) REFERENCES `user` (`id`) ON DELETE SET NULL,
  725. CONSTRAINT `ticket_reply_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `ticket` (`id`) ON DELETE CASCADE,
  726. CONSTRAINT `ticket_reply_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  727. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  728. /*!40101 SET character_set_client = @saved_cs_client */;
  729. DROP TABLE IF EXISTS `user`;
  730. /*!40101 SET @saved_cs_client = @@character_set_client */;
  731. /*!40101 SET character_set_client = utf8 */;
  732. CREATE TABLE `user` (
  733. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  734. `nickname` varchar(64) NOT NULL COMMENT '昵称',
  735. `username` varchar(128) NOT NULL COMMENT '邮箱',
  736. `password` varchar(64) NOT NULL COMMENT '密码',
  737. `port` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT '代理端口',
  738. `passwd` varchar(16) NOT NULL COMMENT '代理密码',
  739. `vmess_id` char(36) NOT NULL,
  740. `transfer_enable` bigint(20) unsigned NOT NULL DEFAULT '1099511627776' COMMENT '可用流量,单位字节,默认1TiB',
  741. `u` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '已上传流量,单位字节',
  742. `d` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '已下载流量,单位字节',
  743. `t` int(10) unsigned DEFAULT NULL COMMENT '最后使用时间',
  744. `ip` varchar(45) DEFAULT NULL COMMENT '最后连接IP',
  745. `enable` tinyint(1) NOT NULL DEFAULT 1 COMMENT '代理状态',
  746. `method` varchar(30) NOT NULL DEFAULT 'aes-256-cfb' COMMENT '加密方式',
  747. `protocol` varchar(30) NOT NULL DEFAULT 'origin' COMMENT '协议',
  748. `protocol_param` varchar(255) DEFAULT NULL COMMENT '协议参数',
  749. `obfs` varchar(30) NOT NULL DEFAULT 'plain' COMMENT '混淆',
  750. `speed_limit` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '用户限速,为0表示不限速,单位Byte',
  751. `wechat` varchar(30) DEFAULT NULL COMMENT '微信',
  752. `qq` varchar(20) DEFAULT NULL COMMENT 'QQ',
  753. `credit` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '余额,单位分',
  754. `expired_at` date NOT NULL DEFAULT '2099-01-01' COMMENT '过期时间',
  755. `ban_time` int(10) unsigned DEFAULT NULL COMMENT '封禁到期时间',
  756. `remark` text COMMENT '备注',
  757. `level` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '等级,默认0级',
  758. `user_group_id` int(10) unsigned DEFAULT NULL COMMENT '所属分组',
  759. `reg_ip` varchar(45) NOT NULL DEFAULT '127.0.0.1' COMMENT '注册IP',
  760. `last_login` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '最后登录时间',
  761. `inviter_id` int(10) unsigned DEFAULT NULL COMMENT '邀请人',
  762. `reset_time` date DEFAULT NULL COMMENT '流量重置日期',
  763. `invite_num` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '可生成邀请码数',
  764. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:-1-禁用、0-未激活、1-正常',
  765. `remember_token` varchar(255) DEFAULT NULL,
  766. `created_at` datetime NOT NULL COMMENT '创建时间',
  767. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  768. PRIMARY KEY (`id`),
  769. UNIQUE KEY `user_username_unique` (`username`),
  770. KEY `idx_search` (`enable`,`status`,`port`),
  771. KEY `user_inviter_id_foreign` (`inviter_id`),
  772. KEY `user_user_group_id_foreign` (`user_group_id`),
  773. CONSTRAINT `user_inviter_id_foreign` FOREIGN KEY (`inviter_id`) REFERENCES `user` (`id`) ON DELETE SET NULL,
  774. CONSTRAINT `user_user_group_id_foreign` FOREIGN KEY (`user_group_id`) REFERENCES `user_group` (`id`) ON DELETE SET NULL
  775. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  776. /*!40101 SET character_set_client = @saved_cs_client */;
  777. DROP TABLE IF EXISTS `user_baned_log`;
  778. /*!40101 SET @saved_cs_client = @@character_set_client */;
  779. /*!40101 SET character_set_client = utf8 */;
  780. CREATE TABLE `user_baned_log` (
  781. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  782. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  783. `time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '封禁账号时长,单位分钟',
  784. `description` varchar(255) DEFAULT NULL COMMENT '操作描述',
  785. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-未处理、1-已处理',
  786. `created_at` datetime NOT NULL COMMENT '创建时间',
  787. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  788. PRIMARY KEY (`id`),
  789. KEY `user_baned_log_user_id_foreign` (`user_id`),
  790. CONSTRAINT `user_baned_log_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  791. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户封禁日志';
  792. /*!40101 SET character_set_client = @saved_cs_client */;
  793. DROP TABLE IF EXISTS `user_credit_log`;
  794. /*!40101 SET @saved_cs_client = @@character_set_client */;
  795. /*!40101 SET character_set_client = utf8 */;
  796. CREATE TABLE `user_credit_log` (
  797. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  798. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  799. `order_id` int(10) unsigned DEFAULT NULL COMMENT '订单ID',
  800. `before` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '发生前余额,单位分',
  801. `after` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '发生后金额,单位分',
  802. `amount` int(11) NOT NULL DEFAULT 0 COMMENT '发生金额,单位分',
  803. `description` varchar(255) DEFAULT NULL COMMENT '操作描述',
  804. `created_at` datetime NOT NULL COMMENT '创建时间',
  805. PRIMARY KEY (`id`),
  806. KEY `user_credit_log_user_id_foreign` (`user_id`),
  807. KEY `user_credit_log_order_id_foreign` (`order_id`),
  808. CONSTRAINT `user_credit_log_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE SET NULL,
  809. CONSTRAINT `user_credit_log_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  810. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  811. /*!40101 SET character_set_client = @saved_cs_client */;
  812. DROP TABLE IF EXISTS `user_daily_data_flow`;
  813. /*!40101 SET @saved_cs_client = @@character_set_client */;
  814. /*!40101 SET character_set_client = utf8 */;
  815. CREATE TABLE `user_daily_data_flow` (
  816. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  817. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  818. `node_id` int(10) unsigned DEFAULT NULL COMMENT '节点ID,null表示统计全部节点',
  819. `u` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '上传流量',
  820. `d` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '下载流量',
  821. `total` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '总流量',
  822. `traffic` varchar(255) DEFAULT NULL COMMENT '总流量(带单位)',
  823. `created_at` datetime NOT NULL COMMENT '创建时间',
  824. PRIMARY KEY (`id`),
  825. KEY `idx_user_node` (`user_id`,`node_id`),
  826. KEY `user_daily_data_flow_node_id_foreign` (`node_id`),
  827. CONSTRAINT `user_daily_data_flow_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE,
  828. CONSTRAINT `user_daily_data_flow_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  829. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  830. /*!40101 SET character_set_client = @saved_cs_client */;
  831. DROP TABLE IF EXISTS `user_data_modify_log`;
  832. /*!40101 SET @saved_cs_client = @@character_set_client */;
  833. /*!40101 SET character_set_client = utf8 */;
  834. CREATE TABLE `user_data_modify_log` (
  835. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  836. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  837. `order_id` int(10) unsigned DEFAULT NULL COMMENT '发生的订单ID',
  838. `before` bigint(20) NOT NULL DEFAULT 0 COMMENT '操作前流量',
  839. `after` bigint(20) NOT NULL DEFAULT 0 COMMENT '操作后流量',
  840. `description` varchar(255) DEFAULT NULL COMMENT '描述',
  841. `created_at` datetime NOT NULL COMMENT '创建时间',
  842. PRIMARY KEY (`id`),
  843. KEY `user_data_modify_log_user_id_foreign` (`user_id`),
  844. KEY `user_data_modify_log_order_id_foreign` (`order_id`),
  845. CONSTRAINT `user_data_modify_log_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE SET NULL,
  846. CONSTRAINT `user_data_modify_log_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  847. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户流量变动日志';
  848. /*!40101 SET character_set_client = @saved_cs_client */;
  849. DROP TABLE IF EXISTS `user_group`;
  850. /*!40101 SET @saved_cs_client = @@character_set_client */;
  851. /*!40101 SET character_set_client = utf8 */;
  852. CREATE TABLE `user_group` (
  853. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  854. `name` varchar(255) NOT NULL COMMENT '分组名称',
  855. PRIMARY KEY (`id`)
  856. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户分组控制表';
  857. /*!40101 SET character_set_client = @saved_cs_client */;
  858. DROP TABLE IF EXISTS `user_hourly_data_flow`;
  859. /*!40101 SET @saved_cs_client = @@character_set_client */;
  860. /*!40101 SET character_set_client = utf8 */;
  861. CREATE TABLE `user_hourly_data_flow` (
  862. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  863. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  864. `node_id` int(10) unsigned DEFAULT NULL COMMENT '节点ID,null表示统计全部节点',
  865. `u` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '上传流量',
  866. `d` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '下载流量',
  867. `total` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT '总流量',
  868. `traffic` varchar(255) DEFAULT NULL COMMENT '总流量(带单位)',
  869. `created_at` datetime NOT NULL COMMENT '创建时间',
  870. PRIMARY KEY (`id`),
  871. KEY `idx_user_node` (`user_id`,`node_id`),
  872. KEY `user_hourly_data_flow_node_id_foreign` (`node_id`),
  873. CONSTRAINT `user_hourly_data_flow_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE,
  874. CONSTRAINT `user_hourly_data_flow_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  875. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  876. /*!40101 SET character_set_client = @saved_cs_client */;
  877. DROP TABLE IF EXISTS `user_login_log`;
  878. /*!40101 SET @saved_cs_client = @@character_set_client */;
  879. /*!40101 SET character_set_client = utf8 */;
  880. CREATE TABLE `user_login_log` (
  881. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  882. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  883. `ip` varchar(45) NOT NULL COMMENT 'IP地址',
  884. `country` varchar(128) NOT NULL COMMENT '国家',
  885. `province` varchar(128) NOT NULL COMMENT '省份',
  886. `city` varchar(128) NOT NULL COMMENT '城市',
  887. `county` varchar(128) NOT NULL COMMENT '郡县',
  888. `isp` varchar(128) NOT NULL COMMENT '运营商',
  889. `area` varchar(255) NOT NULL COMMENT '地区',
  890. `created_at` datetime NOT NULL COMMENT '创建时间',
  891. PRIMARY KEY (`id`),
  892. KEY `user_login_log_user_id_foreign` (`user_id`),
  893. CONSTRAINT `user_login_log_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  894. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  895. /*!40101 SET character_set_client = @saved_cs_client */;
  896. DROP TABLE IF EXISTS `user_oauth`;
  897. /*!40101 SET @saved_cs_client = @@character_set_client */;
  898. /*!40101 SET character_set_client = utf8 */;
  899. CREATE TABLE `user_oauth` (
  900. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  901. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  902. `type` varchar(10) NOT NULL COMMENT '登录类型',
  903. `identifier` varchar(128) NOT NULL COMMENT '手机号/邮箱/第三方的唯一标识',
  904. `credential` varchar(128) DEFAULT NULL COMMENT '密码/Token凭证',
  905. `created_at` datetime NOT NULL COMMENT '创建时间',
  906. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  907. PRIMARY KEY (`id`),
  908. UNIQUE KEY `user_oauth_user_id_type_unique` (`user_id`,`type`),
  909. UNIQUE KEY `user_oauth_identifier_unique` (`identifier`),
  910. CONSTRAINT `user_oauth_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  911. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  912. /*!40101 SET character_set_client = @saved_cs_client */;
  913. DROP TABLE IF EXISTS `user_subscribe`;
  914. /*!40101 SET @saved_cs_client = @@character_set_client */;
  915. /*!40101 SET character_set_client = utf8 */;
  916. CREATE TABLE `user_subscribe` (
  917. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  918. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  919. `code` char(8) NOT NULL COMMENT '订阅地址唯一识别码',
  920. `times` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '地址请求次数',
  921. `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:0-禁用、1-启用',
  922. `ban_time` int(10) unsigned DEFAULT NULL COMMENT '封禁时间',
  923. `ban_desc` text COMMENT '封禁理由',
  924. `created_at` datetime NOT NULL COMMENT '创建时间',
  925. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  926. PRIMARY KEY (`id`),
  927. UNIQUE KEY `user_subscribe_code_unique` (`code`),
  928. KEY `user_id` (`user_id`,`status`),
  929. KEY `user_subscribe_code_index` (`code`),
  930. CONSTRAINT `user_subscribe_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  931. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  932. /*!40101 SET character_set_client = @saved_cs_client */;
  933. DROP TABLE IF EXISTS `user_subscribe_log`;
  934. /*!40101 SET @saved_cs_client = @@character_set_client */;
  935. /*!40101 SET character_set_client = utf8 */;
  936. CREATE TABLE `user_subscribe_log` (
  937. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  938. `user_subscribe_id` int(10) unsigned NOT NULL COMMENT '对应user_subscribe的id',
  939. `request_ip` varchar(45) DEFAULT NULL COMMENT '请求IP',
  940. `request_time` datetime NOT NULL COMMENT '请求时间',
  941. `request_header` text COMMENT '请求头部信息',
  942. PRIMARY KEY (`id`),
  943. KEY `user_subscribe_log_user_subscribe_id_index` (`user_subscribe_id`),
  944. CONSTRAINT `user_subscribe_log_user_subscribe_id_foreign` FOREIGN KEY (`user_subscribe_id`) REFERENCES `user_subscribe` (`id`) ON DELETE CASCADE
  945. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  946. /*!40101 SET character_set_client = @saved_cs_client */;
  947. DROP TABLE IF EXISTS `user_traffic_log`;
  948. /*!40101 SET @saved_cs_client = @@character_set_client */;
  949. /*!40101 SET character_set_client = utf8 */;
  950. CREATE TABLE `user_traffic_log` (
  951. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  952. `user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '用户ID',
  953. `node_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '节点ID',
  954. `u` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '上传流量',
  955. `d` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '下载流量',
  956. `rate` double(6,2) unsigned NOT NULL COMMENT '倍率',
  957. `traffic` varchar(32) NOT NULL COMMENT '产生流量',
  958. `log_time` int(10) unsigned NOT NULL COMMENT '记录时间',
  959. PRIMARY KEY (`id`),
  960. KEY `idx_user_node_time` (`user_id`,`node_id`,`log_time`),
  961. KEY `user_traffic_log_node_id_foreign` (`node_id`),
  962. CONSTRAINT `user_traffic_log_node_id_foreign` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`) ON DELETE CASCADE,
  963. CONSTRAINT `user_traffic_log_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  964. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  965. /*!40101 SET character_set_client = @saved_cs_client */;
  966. DROP TABLE IF EXISTS `verify`;
  967. /*!40101 SET @saved_cs_client = @@character_set_client */;
  968. /*!40101 SET character_set_client = utf8 */;
  969. CREATE TABLE `verify` (
  970. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  971. `type` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '激活类型:1-自行激活、2-管理员激活',
  972. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID',
  973. `token` varchar(32) NOT NULL COMMENT '校验token',
  974. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-未使用、1-已使用、2-已失效',
  975. `created_at` datetime NOT NULL COMMENT '创建时间',
  976. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  977. PRIMARY KEY (`id`),
  978. KEY `verify_user_id_foreign` (`user_id`),
  979. CONSTRAINT `verify_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
  980. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  981. /*!40101 SET character_set_client = @saved_cs_client */;
  982. DROP TABLE IF EXISTS `verify_code`;
  983. /*!40101 SET @saved_cs_client = @@character_set_client */;
  984. /*!40101 SET character_set_client = utf8 */;
  985. CREATE TABLE `verify_code` (
  986. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  987. `address` varchar(128) NOT NULL COMMENT '用户邮箱',
  988. `code` char(6) NOT NULL COMMENT '验证码',
  989. `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-未使用、1-已使用、2-已失效',
  990. `created_at` datetime NOT NULL COMMENT '创建时间',
  991. `updated_at` datetime NOT NULL COMMENT '最后更新时间',
  992. PRIMARY KEY (`id`)
  993. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='注册激活验证码';
  994. /*!40101 SET character_set_client = @saved_cs_client */;
  995. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  996. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  997. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  998. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  999. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  1000. INSERT INTO `migrations` VALUES (1,'2019_12_14_000001_create_personal_access_tokens_table',1);
  1001. INSERT INTO `migrations` VALUES (2,'2020_08_21_145711_create_article_table',1);
  1002. INSERT INTO `migrations` VALUES (3,'2020_08_21_145711_create_config_table',1);
  1003. INSERT INTO `migrations` VALUES (4,'2020_08_21_145711_create_country_table',1);
  1004. INSERT INTO `migrations` VALUES (5,'2020_08_21_145711_create_coupon_log_table',1);
  1005. INSERT INTO `migrations` VALUES (6,'2020_08_21_145711_create_coupon_table',1);
  1006. INSERT INTO `migrations` VALUES (7,'2020_08_21_145711_create_email_filter_table',1);
  1007. INSERT INTO `migrations` VALUES (8,'2020_08_21_145711_create_failed_jobs_table',1);
  1008. INSERT INTO `migrations` VALUES (9,'2020_08_21_145711_create_goods_table',1);
  1009. INSERT INTO `migrations` VALUES (10,'2020_08_21_145711_create_invite_table',1);
  1010. INSERT INTO `migrations` VALUES (11,'2020_08_21_145711_create_jobs_table',1);
  1011. INSERT INTO `migrations` VALUES (12,'2020_08_21_145711_create_label_table',1);
  1012. INSERT INTO `migrations` VALUES (13,'2020_08_21_145711_create_level_table',1);
  1013. INSERT INTO `migrations` VALUES (14,'2020_08_21_145711_create_marketing_table',1);
  1014. INSERT INTO `migrations` VALUES (15,'2020_08_21_145711_create_node_auth_table',1);
  1015. INSERT INTO `migrations` VALUES (16,'2020_08_21_145711_create_node_certificate_table',1);
  1016. INSERT INTO `migrations` VALUES (17,'2020_08_21_145711_create_node_daily_data_flow_table',1);
  1017. INSERT INTO `migrations` VALUES (18,'2020_08_21_145711_create_node_hourly_data_flow_table',1);
  1018. INSERT INTO `migrations` VALUES (19,'2020_08_21_145711_create_node_label_table',1);
  1019. INSERT INTO `migrations` VALUES (20,'2020_08_21_145711_create_node_rule_table',1);
  1020. INSERT INTO `migrations` VALUES (21,'2020_08_21_145711_create_notification_log_table',1);
  1021. INSERT INTO `migrations` VALUES (22,'2020_08_21_145711_create_order_table',1);
  1022. INSERT INTO `migrations` VALUES (23,'2020_08_21_145711_create_payment_callback_table',1);
  1023. INSERT INTO `migrations` VALUES (24,'2020_08_21_145711_create_payment_table',1);
  1024. INSERT INTO `migrations` VALUES (25,'2020_08_21_145711_create_referral_apply_table',1);
  1025. INSERT INTO `migrations` VALUES (26,'2020_08_21_145711_create_referral_log_table',1);
  1026. INSERT INTO `migrations` VALUES (27,'2020_08_21_145711_create_rule_group_node_table',1);
  1027. INSERT INTO `migrations` VALUES (28,'2020_08_21_145711_create_rule_group_table',1);
  1028. INSERT INTO `migrations` VALUES (29,'2020_08_21_145711_create_rule_log_table',1);
  1029. INSERT INTO `migrations` VALUES (30,'2020_08_21_145711_create_rule_table',1);
  1030. INSERT INTO `migrations` VALUES (31,'2020_08_21_145711_create_ss_config_table',1);
  1031. INSERT INTO `migrations` VALUES (32,'2020_08_21_145711_create_ss_node_info_table',1);
  1032. INSERT INTO `migrations` VALUES (33,'2020_08_21_145711_create_ss_node_ip_table',1);
  1033. INSERT INTO `migrations` VALUES (34,'2020_08_21_145711_create_ss_node_online_log_table',1);
  1034. INSERT INTO `migrations` VALUES (35,'2020_08_21_145711_create_ss_node_table',1);
  1035. INSERT INTO `migrations` VALUES (36,'2020_08_21_145711_create_ticket_reply_table',1);
  1036. INSERT INTO `migrations` VALUES (37,'2020_08_21_145711_create_ticket_table',1);
  1037. INSERT INTO `migrations` VALUES (38,'2020_08_21_145711_create_user_baned_log_table',1);
  1038. INSERT INTO `migrations` VALUES (39,'2020_08_21_145711_create_user_credit_log_table',1);
  1039. INSERT INTO `migrations` VALUES (40,'2020_08_21_145711_create_user_daily_data_flow_table',1);
  1040. INSERT INTO `migrations` VALUES (41,'2020_08_21_145711_create_user_data_modify_log_table',1);
  1041. INSERT INTO `migrations` VALUES (42,'2020_08_21_145711_create_user_group_table',1);
  1042. INSERT INTO `migrations` VALUES (43,'2020_08_21_145711_create_user_hourly_data_flow_table',1);
  1043. INSERT INTO `migrations` VALUES (44,'2020_08_21_145711_create_user_login_log_table',1);
  1044. INSERT INTO `migrations` VALUES (45,'2020_08_21_145711_create_user_subscribe_log_table',1);
  1045. INSERT INTO `migrations` VALUES (46,'2020_08_21_145711_create_user_subscribe_table',1);
  1046. INSERT INTO `migrations` VALUES (47,'2020_08_21_145711_create_user_table',1);
  1047. INSERT INTO `migrations` VALUES (48,'2020_08_21_145711_create_user_traffic_log_table',1);
  1048. INSERT INTO `migrations` VALUES (49,'2020_08_21_145711_create_verify_code_table',1);
  1049. INSERT INTO `migrations` VALUES (50,'2020_08_21_145711_create_verify_table',1);
  1050. INSERT INTO `migrations` VALUES (51,'2020_09_24_184434_add_strip_config',1);
  1051. INSERT INTO `migrations` VALUES (52,'2020_10_11_000217_add_ddns_to_config_table',1);
  1052. INSERT INTO `migrations` VALUES (53,'2020_11_06_145018_create_permission_tables',1);
  1053. INSERT INTO `migrations` VALUES (54,'2020_11_10_075555_improve_table',1);
  1054. INSERT INTO `migrations` VALUES (55,'2020_12_07_120247_permission_data',1);
  1055. INSERT INTO `migrations` VALUES (56,'2020_12_24_074739_table_improvement',1);
  1056. INSERT INTO `migrations` VALUES (57,'2021_01_04_094946_drop_node_ping',1);
  1057. INSERT INTO `migrations` VALUES (58,'2021_01_04_172833_add-paybeaver-payment',1);
  1058. INSERT INTO `migrations` VALUES (59,'2021_01_15_065207_create_notifications_table',1);
  1059. INSERT INTO `migrations` VALUES (60,'2021_01_27_080544_config_clean',1);
  1060. INSERT INTO `migrations` VALUES (61,'2021_03_17_041036_add_aff_code_config',1);
  1061. INSERT INTO `migrations` VALUES (62,'2021_04_25_095012_ddns_node',1);
  1062. INSERT INTO `migrations` VALUES (63,'2021_05_16_215434_add_theadpay_payment',1);
  1063. INSERT INTO `migrations` VALUES (64,'2021_06_16_115448_oauth',1);
  1064. INSERT INTO `migrations` VALUES (65,'2021_06_23_103914_append_telegram_id_to_user_table',1);
  1065. INSERT INTO `migrations` VALUES (66,'2021_06_27_174304_append_v2_sni_to_node_table',1);
  1066. INSERT INTO `migrations` VALUES (67,'2021_07_13_190753_rm_telegram_in_user_table',1);
  1067. INSERT INTO `migrations` VALUES (68,'2021_07_23_151321_append_speed_limit_goods_table',1);
  1068. INSERT INTO `migrations` VALUES (69,'2021_07_24_214642_create_goods_category_table',1);
  1069. INSERT INTO `migrations` VALUES (70,'2021_07_25_124022_drop_v2_port',1);
  1070. INSERT INTO `migrations` VALUES (71,'2021_08_26_231620_more_notification',1);
  1071. INSERT INTO `migrations` VALUES (72,'2021_10_08_222109_add_payment_confirm_notification',1);
  1072. INSERT INTO `migrations` VALUES (73,'2021_11_25_211107_change_log_permission',1);
  1073. INSERT INTO `migrations` VALUES (74,'2022_01_16_160308_add_msgid_notification_log',1);
  1074. INSERT INTO `migrations` VALUES (75,'2022_01_22_231856_improve_node_table',1);
  1075. INSERT INTO `migrations` VALUES (76,'2022_08_04_001832_add_more_notifications',1);
  1076. INSERT INTO `migrations` VALUES (77,'2022_08_07_012002_modify_node_for_view',1);
  1077. INSERT INTO `migrations` VALUES (78,'2022_08_25_204229_improve_coupon',1);
  1078. INSERT INTO `migrations` VALUES (79,'2022_12_01_223612_add_options_to_article',1);
  1079. INSERT INTO `migrations` VALUES (80,'2023_01_04_210048_currency_internationalization',1);
  1080. INSERT INTO `migrations` VALUES (81,'2023_04_22_005731_change_subscribe_desc',1);