diff --git a/application/admin/command/Install.php b/application/admin/command/Install.php index 499f8c4..835269d 100644 --- a/application/admin/command/Install.php +++ b/application/admin/command/Install.php @@ -172,7 +172,7 @@ class Install extends Command try { $pdo = new PDO("{$config['type']}:host={$mysqlHostname}" . ($mysqlHostport ? ";port={$mysqlHostport}" : ''), $mysqlUsername, $mysqlPassword); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - $pdo->query("CREATE DATABASE IF NOT EXISTS `{$mysqlDatabase}` CHARACTER SET utf8 COLLATE utf8_general_ci;"); + $pdo->query("CREATE DATABASE IF NOT EXISTS `{$mysqlDatabase}` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"); // 连接install命令中指定的数据库 $instance = Db::connect([ diff --git a/application/admin/command/Install/fastadmin.sql b/application/admin/command/Install/fastadmin.sql index 97b36f4..a124e1f 100755 --- a/application/admin/command/Install/fastadmin.sql +++ b/application/admin/command/Install/fastadmin.sql @@ -1,6 +1,6 @@ /* FastAdmin Install SQL - Date: 2018年05月26日 + Date: 2020年04月23日 */ SET FOREIGN_KEY_CHECKS = 0; @@ -26,7 +26,7 @@ CREATE TABLE `fa_admin` ( `status` varchar(30) NOT NULL DEFAULT 'normal' COMMENT '状态', PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='管理员表'; -- ---------------------------- -- Records of fa_admin @@ -51,7 +51,7 @@ CREATE TABLE `fa_admin_log` ( `createtime` int(10) DEFAULT NULL COMMENT '操作时间', PRIMARY KEY (`id`), KEY `name` (`username`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='管理员日志表'; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='管理员日志表'; -- ---------------------------- -- Table structure for fa_attachment @@ -75,7 +75,7 @@ CREATE TABLE `fa_attachment` ( `storage` varchar(100) NOT NULL DEFAULT 'local' COMMENT '存储位置', `sha1` varchar(40) NOT NULL DEFAULT '' COMMENT '文件 sha1编码', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='附件表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='附件表'; -- ---------------------------- -- Records of fa_attachment @@ -97,7 +97,7 @@ CREATE TABLE `fa_auth_group` ( `updatetime` int(10) DEFAULT NULL COMMENT '更新时间', `status` varchar(30) NOT NULL DEFAULT '' COMMENT '状态', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='分组表'; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='分组表'; -- ---------------------------- -- Records of fa_auth_group @@ -120,7 +120,7 @@ CREATE TABLE `fa_auth_group_access` ( UNIQUE KEY `uid_group_id` (`uid`,`group_id`), KEY `uid` (`uid`), KEY `group_id` (`group_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限分组表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='权限分组表'; -- ---------------------------- -- Records of fa_auth_group_access @@ -151,7 +151,7 @@ CREATE TABLE `fa_auth_rule` ( UNIQUE KEY `name` (`name`) USING BTREE, KEY `pid` (`pid`), KEY `weigh` (`weigh`) -) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8 COMMENT='节点表'; +) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='节点表'; -- ---------------------------- -- Records of fa_auth_rule @@ -263,7 +263,7 @@ CREATE TABLE `fa_category` ( PRIMARY KEY (`id`), KEY `weigh` (`weigh`,`id`), KEY `pid` (`pid`) -) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='分类表'; +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='分类表'; -- ---------------------------- -- Records of fa_category @@ -301,7 +301,7 @@ CREATE TABLE `fa_config` ( `extend` varchar(255) NOT NULL DEFAULT '' COMMENT '扩展属性', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COMMENT='系统配置'; +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='系统配置'; -- ---------------------------- -- Records of fa_config @@ -332,14 +332,14 @@ COMMIT; DROP TABLE IF EXISTS `fa_ems`; CREATE TABLE `fa_ems` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID', - `event` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '事件', - `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '邮箱', - `code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '验证码', + `event` varchar(30) NOT NULL DEFAULT '' COMMENT '事件', + `email` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱', + `code` varchar(10) NOT NULL DEFAULT '' COMMENT '验证码', `times` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '验证次数', - `ip` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'IP', + `ip` varchar(30) NOT NULL DEFAULT '' COMMENT 'IP', `createtime` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='邮箱验证码表'; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='邮箱验证码表'; -- ---------------------------- -- Table structure for fa_sms @@ -354,7 +354,7 @@ CREATE TABLE `fa_sms` ( `ip` varchar(30) NOT NULL DEFAULT '' COMMENT 'IP', `createtime` int(10) unsigned DEFAULT '0' COMMENT '创建时间', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='短信验证码表'; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='短信验证码表'; -- ---------------------------- -- Table structure for fa_test @@ -393,7 +393,7 @@ CREATE TABLE `fa_test` ( `status` enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态', `state` enum('0','1','2') NOT NULL DEFAULT '1' COMMENT '状态值:0=禁用,1=正常,2=推荐', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='测试表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='测试表'; -- ---------------------------- -- Records of fa_test @@ -439,7 +439,7 @@ CREATE TABLE `fa_user` ( KEY `username` (`username`), KEY `email` (`email`), KEY `mobile` (`mobile`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='会员表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员表'; -- ---------------------------- -- Records of fa_user @@ -460,7 +460,7 @@ CREATE TABLE `fa_user_group` ( `updatetime` int(10) DEFAULT NULL COMMENT '更新时间', `status` enum('normal','hidden') DEFAULT NULL COMMENT '状态', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='会员组表'; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员组表'; -- ---------------------------- -- Records of fa_user_group @@ -482,7 +482,7 @@ CREATE TABLE `fa_user_money_log` ( `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', `createtime` int(10) DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='会员余额变动表'; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员余额变动表'; -- ---------------------------- -- Table structure for fa_user_rule @@ -500,7 +500,7 @@ CREATE TABLE `fa_user_rule` ( `weigh` int(10) DEFAULT '0' COMMENT '权重', `status` enum('normal','hidden') DEFAULT NULL COMMENT '状态', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='会员规则表'; +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员规则表'; -- ---------------------------- -- Records of fa_user_rule @@ -533,7 +533,7 @@ CREATE TABLE `fa_user_score_log` ( `memo` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', `createtime` int(10) DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='会员积分变动表'; +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员积分变动表'; -- ---------------------------- -- Table structure for fa_user_token @@ -545,5 +545,5 @@ CREATE TABLE `fa_user_token` ( `createtime` int(10) DEFAULT NULL COMMENT '创建时间', `expiretime` int(10) DEFAULT NULL COMMENT '过期时间', PRIMARY KEY (`token`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员Token表'; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT='会员Token表'; SET FOREIGN_KEY_CHECKS = 1; diff --git a/application/database.php b/application/database.php index e55d024..7b9f8f2 100755 --- a/application/database.php +++ b/application/database.php @@ -29,8 +29,8 @@ return [ 'dsn' => '', // 数据库连接参数 'params' => [], - // 数据库编码默认采用utf8 - 'charset' => Env::get('database.charset', 'utf8'), + // 数据库编码默认采用 utf8mb4 + 'charset' => Env::get('database.charset', 'utf8mb4'), // 数据库表前缀 'prefix' => Env::get('database.prefix', 'fa_'), // 数据库调试模式