作者 F4NNIU

改数据库编码为 utf8mb4

@@ -172,7 +172,7 @@ class Install extends Command @@ -172,7 +172,7 @@ class Install extends Command
172 try { 172 try {
173 $pdo = new PDO("{$config['type']}:host={$mysqlHostname}" . ($mysqlHostport ? ";port={$mysqlHostport}" : ''), $mysqlUsername, $mysqlPassword); 173 $pdo = new PDO("{$config['type']}:host={$mysqlHostname}" . ($mysqlHostport ? ";port={$mysqlHostport}" : ''), $mysqlUsername, $mysqlPassword);
174 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 174 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
175 - $pdo->query("CREATE DATABASE IF NOT EXISTS `{$mysqlDatabase}` CHARACTER SET utf8 COLLATE utf8_general_ci;"); 175 + $pdo->query("CREATE DATABASE IF NOT EXISTS `{$mysqlDatabase}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;");
176 176
177 // 连接install命令中指定的数据库 177 // 连接install命令中指定的数据库
178 $instance = Db::connect([ 178 $instance = Db::connect([
1 /* 1 /*
2 FastAdmin Install SQL 2 FastAdmin Install SQL
3 - Date: 2018年05月26 3 + Date: 2020年04月23
4 */ 4 */
5 5
6 SET FOREIGN_KEY_CHECKS = 0; 6 SET FOREIGN_KEY_CHECKS = 0;
@@ -26,7 +26,7 @@ CREATE TABLE `fa_admin` ( @@ -26,7 +26,7 @@ CREATE TABLE `fa_admin` (
26 `status` varchar(30) NOT NULL DEFAULT 'normal' COMMENT '状态', 26 `status` varchar(30) NOT NULL DEFAULT 'normal' COMMENT '状态',
27 PRIMARY KEY (`id`), 27 PRIMARY KEY (`id`),
28 UNIQUE KEY `username` (`username`) USING BTREE 28 UNIQUE KEY `username` (`username`) USING BTREE
29 -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员表'; 29 +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='管理员表';
30 30
31 -- ---------------------------- 31 -- ----------------------------
32 -- Records of fa_admin 32 -- Records of fa_admin
@@ -51,7 +51,7 @@ CREATE TABLE `fa_admin_log` ( @@ -51,7 +51,7 @@ CREATE TABLE `fa_admin_log` (
51 `createtime` int(10) DEFAULT NULL COMMENT '操作时间', 51 `createtime` int(10) DEFAULT NULL COMMENT '操作时间',
52 PRIMARY KEY (`id`), 52 PRIMARY KEY (`id`),
53 KEY `name` (`username`) 53 KEY `name` (`username`)
54 -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='管理员日志表'; 54 +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='管理员日志表';
55 55
56 -- ---------------------------- 56 -- ----------------------------
57 -- Table structure for fa_attachment 57 -- Table structure for fa_attachment
@@ -75,7 +75,7 @@ CREATE TABLE `fa_attachment` ( @@ -75,7 +75,7 @@ CREATE TABLE `fa_attachment` (
75 `storage` varchar(100) NOT NULL DEFAULT 'local' COMMENT '存储位置', 75 `storage` varchar(100) NOT NULL DEFAULT 'local' COMMENT '存储位置',
76 `sha1` varchar(40) NOT NULL DEFAULT '' COMMENT '文件 sha1编码', 76 `sha1` varchar(40) NOT NULL DEFAULT '' COMMENT '文件 sha1编码',
77 PRIMARY KEY (`id`) 77 PRIMARY KEY (`id`)
78 -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='附件表'; 78 +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='附件表';
79 79
80 -- ---------------------------- 80 -- ----------------------------
81 -- Records of fa_attachment 81 -- Records of fa_attachment
@@ -97,7 +97,7 @@ CREATE TABLE `fa_auth_group` ( @@ -97,7 +97,7 @@ CREATE TABLE `fa_auth_group` (
97 `updatetime` int(10) DEFAULT NULL COMMENT '更新时间', 97 `updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
98 `status` varchar(30) NOT NULL DEFAULT '' COMMENT '状态', 98 `status` varchar(30) NOT NULL DEFAULT '' COMMENT '状态',
99 PRIMARY KEY (`id`) 99 PRIMARY KEY (`id`)
100 -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='分组表'; 100 +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='分组表';
101 101
102 -- ---------------------------- 102 -- ----------------------------
103 -- Records of fa_auth_group 103 -- Records of fa_auth_group
@@ -120,7 +120,7 @@ CREATE TABLE `fa_auth_group_access` ( @@ -120,7 +120,7 @@ CREATE TABLE `fa_auth_group_access` (
120 UNIQUE KEY `uid_group_id` (`uid`,`group_id`), 120 UNIQUE KEY `uid_group_id` (`uid`,`group_id`),
121 KEY `uid` (`uid`), 121 KEY `uid` (`uid`),
122 KEY `group_id` (`group_id`) 122 KEY `group_id` (`group_id`)
123 -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限分组表'; 123 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='权限分组表';
124 124
125 -- ---------------------------- 125 -- ----------------------------
126 -- Records of fa_auth_group_access 126 -- Records of fa_auth_group_access
@@ -151,7 +151,7 @@ CREATE TABLE `fa_auth_rule` ( @@ -151,7 +151,7 @@ CREATE TABLE `fa_auth_rule` (
151 UNIQUE KEY `name` (`name`) USING BTREE, 151 UNIQUE KEY `name` (`name`) USING BTREE,
152 KEY `pid` (`pid`), 152 KEY `pid` (`pid`),
153 KEY `weigh` (`weigh`) 153 KEY `weigh` (`weigh`)
154 -) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8 COMMENT='节点表'; 154 +) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='节点表';
155 155
156 -- ---------------------------- 156 -- ----------------------------
157 -- Records of fa_auth_rule 157 -- Records of fa_auth_rule
@@ -263,7 +263,7 @@ CREATE TABLE `fa_category` ( @@ -263,7 +263,7 @@ CREATE TABLE `fa_category` (
263 PRIMARY KEY (`id`), 263 PRIMARY KEY (`id`),
264 KEY `weigh` (`weigh`,`id`), 264 KEY `weigh` (`weigh`,`id`),
265 KEY `pid` (`pid`) 265 KEY `pid` (`pid`)
266 -) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='分类表'; 266 +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='分类表';
267 267
268 -- ---------------------------- 268 -- ----------------------------
269 -- Records of fa_category 269 -- Records of fa_category
@@ -301,7 +301,7 @@ CREATE TABLE `fa_config` ( @@ -301,7 +301,7 @@ CREATE TABLE `fa_config` (
301 `extend` varchar(255) NOT NULL DEFAULT '' COMMENT '扩展属性', 301 `extend` varchar(255) NOT NULL DEFAULT '' COMMENT '扩展属性',
302 PRIMARY KEY (`id`), 302 PRIMARY KEY (`id`),
303 UNIQUE KEY `name` (`name`) 303 UNIQUE KEY `name` (`name`)
304 -) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COMMENT='系统配置'; 304 +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='系统配置';
305 305
306 -- ---------------------------- 306 -- ----------------------------
307 -- Records of fa_config 307 -- Records of fa_config
@@ -332,14 +332,14 @@ COMMIT; @@ -332,14 +332,14 @@ COMMIT;
332 DROP TABLE IF EXISTS `fa_ems`; 332 DROP TABLE IF EXISTS `fa_ems`;
333 CREATE TABLE `fa_ems` ( 333 CREATE TABLE `fa_ems` (
334 `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID', 334 `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
335 - `event` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '事件',  
336 - `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '邮箱',  
337 - `code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '验证码', 335 + `event` varchar(30) NOT NULL DEFAULT '' COMMENT '事件',
  336 + `email` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱',
  337 + `code` varchar(10) NOT NULL DEFAULT '' COMMENT '验证码',
338 `times` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '验证次数', 338 `times` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '验证次数',
339 - `ip` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'IP', 339 + `ip` varchar(30) NOT NULL DEFAULT '' COMMENT 'IP',
340 `createtime` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', 340 `createtime` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间',
341 PRIMARY KEY (`id`) USING BTREE 341 PRIMARY KEY (`id`) USING BTREE
342 -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='邮箱验证码表'; 342 +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='邮箱验证码表';
343 343
344 -- ---------------------------- 344 -- ----------------------------
345 -- Table structure for fa_sms 345 -- Table structure for fa_sms
@@ -354,7 +354,7 @@ CREATE TABLE `fa_sms` ( @@ -354,7 +354,7 @@ CREATE TABLE `fa_sms` (
354 `ip` varchar(30) NOT NULL DEFAULT '' COMMENT 'IP', 354 `ip` varchar(30) NOT NULL DEFAULT '' COMMENT 'IP',
355 `createtime` int(10) unsigned DEFAULT '0' COMMENT '创建时间', 355 `createtime` int(10) unsigned DEFAULT '0' COMMENT '创建时间',
356 PRIMARY KEY (`id`) 356 PRIMARY KEY (`id`)
357 -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='短信验证码表'; 357 +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='短信验证码表';
358 358
359 -- ---------------------------- 359 -- ----------------------------
360 -- Table structure for fa_test 360 -- Table structure for fa_test
@@ -393,7 +393,7 @@ CREATE TABLE `fa_test` ( @@ -393,7 +393,7 @@ CREATE TABLE `fa_test` (
393 `status` enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态', 393 `status` enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态',
394 `state` enum('0','1','2') NOT NULL DEFAULT '1' COMMENT '状态值:0=禁用,1=正常,2=推荐', 394 `state` enum('0','1','2') NOT NULL DEFAULT '1' COMMENT '状态值:0=禁用,1=正常,2=推荐',
395 PRIMARY KEY (`id`) 395 PRIMARY KEY (`id`)
396 -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='测试表'; 396 +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='测试表';
397 397
398 -- ---------------------------- 398 -- ----------------------------
399 -- Records of fa_test 399 -- Records of fa_test
@@ -439,7 +439,7 @@ CREATE TABLE `fa_user` ( @@ -439,7 +439,7 @@ CREATE TABLE `fa_user` (
439 KEY `username` (`username`), 439 KEY `username` (`username`),
440 KEY `email` (`email`), 440 KEY `email` (`email`),
441 KEY `mobile` (`mobile`) 441 KEY `mobile` (`mobile`)
442 -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='会员表'; 442 +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员表';
443 443
444 -- ---------------------------- 444 -- ----------------------------
445 -- Records of fa_user 445 -- Records of fa_user
@@ -460,7 +460,7 @@ CREATE TABLE `fa_user_group` ( @@ -460,7 +460,7 @@ CREATE TABLE `fa_user_group` (
460 `updatetime` int(10) DEFAULT NULL COMMENT '更新时间', 460 `updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
461 `status` enum('normal','hidden') DEFAULT NULL COMMENT '状态', 461 `status` enum('normal','hidden') DEFAULT NULL COMMENT '状态',
462 PRIMARY KEY (`id`) 462 PRIMARY KEY (`id`)
463 -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='会员组表'; 463 +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员组表';
464 464
465 -- ---------------------------- 465 -- ----------------------------
466 -- Records of fa_user_group 466 -- Records of fa_user_group
@@ -482,7 +482,7 @@ CREATE TABLE `fa_user_money_log` ( @@ -482,7 +482,7 @@ CREATE TABLE `fa_user_money_log` (
482 `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', 482 `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
483 `createtime` int(10) DEFAULT NULL COMMENT '创建时间', 483 `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
484 PRIMARY KEY (`id`) 484 PRIMARY KEY (`id`)
485 -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='会员余额变动表'; 485 +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员余额变动表';
486 486
487 -- ---------------------------- 487 -- ----------------------------
488 -- Table structure for fa_user_rule 488 -- Table structure for fa_user_rule
@@ -500,7 +500,7 @@ CREATE TABLE `fa_user_rule` ( @@ -500,7 +500,7 @@ CREATE TABLE `fa_user_rule` (
500 `weigh` int(10) DEFAULT '0' COMMENT '权重', 500 `weigh` int(10) DEFAULT '0' COMMENT '权重',
501 `status` enum('normal','hidden') DEFAULT NULL COMMENT '状态', 501 `status` enum('normal','hidden') DEFAULT NULL COMMENT '状态',
502 PRIMARY KEY (`id`) 502 PRIMARY KEY (`id`)
503 -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='会员规则表'; 503 +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员规则表';
504 504
505 -- ---------------------------- 505 -- ----------------------------
506 -- Records of fa_user_rule 506 -- Records of fa_user_rule
@@ -533,7 +533,7 @@ CREATE TABLE `fa_user_score_log` ( @@ -533,7 +533,7 @@ CREATE TABLE `fa_user_score_log` (
533 `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', 533 `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
534 `createtime` int(10) DEFAULT NULL COMMENT '创建时间', 534 `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
535 PRIMARY KEY (`id`) 535 PRIMARY KEY (`id`)
536 -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='会员积分变动表'; 536 +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员积分变动表';
537 537
538 -- ---------------------------- 538 -- ----------------------------
539 -- Table structure for fa_user_token 539 -- Table structure for fa_user_token
@@ -545,5 +545,5 @@ CREATE TABLE `fa_user_token` ( @@ -545,5 +545,5 @@ CREATE TABLE `fa_user_token` (
545 `createtime` int(10) DEFAULT NULL COMMENT '创建时间', 545 `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
546 `expiretime` int(10) DEFAULT NULL COMMENT '过期时间', 546 `expiretime` int(10) DEFAULT NULL COMMENT '过期时间',
547 PRIMARY KEY (`token`) 547 PRIMARY KEY (`token`)
548 -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员Token表'; 548 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员Token表';
549 SET FOREIGN_KEY_CHECKS = 1; 549 SET FOREIGN_KEY_CHECKS = 1;
@@ -29,8 +29,8 @@ return [ @@ -29,8 +29,8 @@ return [
29 'dsn' => '', 29 'dsn' => '',
30 // 数据库连接参数 30 // 数据库连接参数
31 'params' => [], 31 'params' => [],
32 - // 数据库编码默认采用utf8  
33 - 'charset' => Env::get('database.charset', 'utf8'), 32 + // 数据库编码默认采用 utf8mb4
  33 + 'charset' => Env::get('database.charset', 'utf8mb4'),
34 // 数据库表前缀 34 // 数据库表前缀
35 'prefix' => Env::get('database.prefix', 'fa_'), 35 'prefix' => Env::get('database.prefix', 'fa_'),
36 // 数据库调试模式 36 // 数据库调试模式