折腾typecho主题clarity配套插件enhancement

_

修改MySQL.sql

我安装的typecho版本是1.3.0版本,主题是clarity,看老孙博客的演示,主题需要安装Enhancement插件才能更好使用主题。安装并激活后,后台管理的链接不能使用,瞬间也不能使用,后台也是,看了一下数据库,原来是激活后数据库没有导入。
于是,我把在phpmyadmin管理面板中,选择数据库,导入位于Enhancement插件下sql中的MySQL.sql。代码如下:

CREATE TABLE IF NOT EXISTS `typecho_links` (
  `lid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'links表主键',
  `name` varchar(50) DEFAULT NULL COMMENT 'links名称',
  `url` varchar(200) DEFAULT NULL COMMENT 'links网址',
  `sort` varchar(50) DEFAULT NULL COMMENT 'links分类',
  `email` varchar(50) DEFAULT NULL COMMENT 'links邮箱',
  `image` varchar(200) DEFAULT NULL COMMENT 'links图片',
  `description` varchar(200) DEFAULT NULL COMMENT 'links描述',
  `user` varchar(200) DEFAULT NULL COMMENT '自定义',
  `state` int(10) DEFAULT '1' COMMENT 'links状态',
  `order` int(10) UNSIGNED DEFAULT '0' COMMENT 'links排序',
  PRIMARY KEY (`lid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;

CREATE TABLE IF NOT EXISTS `typecho_moments` (
  `mid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'moments表主键',
  `content` text NOT NULL COMMENT '内容',
  `tags` varchar(200) DEFAULT NULL COMMENT '标签',
  `media` text DEFAULT NULL COMMENT '媒体JSON',
  `source` varchar(20) DEFAULT 'web' COMMENT '来源',
  `status` varchar(20) DEFAULT 'public' COMMENT '状态(public/private)',
  `latitude` varchar(20) DEFAULT NULL COMMENT '纬度',
  `longitude` varchar(20) DEFAULT NULL COMMENT '经度',
  `location_address` varchar(255) DEFAULT NULL COMMENT '定位地址',
  `created` int(10) UNSIGNED DEFAULT '0' COMMENT '创建时间',
  PRIMARY KEY (`mid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;

CREATE TABLE IF NOT EXISTS `typecho_qq_notify_queue` 
  `qid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `message` text NOT NULL,
  `status` int(10) DEFAULT 0,
  `retries` int(10) DEFAULT 0,
  `last_error` varchar(255) DEFAULT NULL,
  `created` int(10) DEFAULT 0,
  `updated` int(10) DEFAULT 0,
  PRIMARY KEY (`qid`)
) ENGINE=MYISAM DEFAULT CHARSET=%charset%;

修改编码

这个插件导入也没有成功。
导入没有成功
网上了解到关于编码的问题,将CHARSET=%charset%,修改为CHARSET=utf8mb4。共有3处,位于13、27、38行,修改后保存,再次导入。还是不行!
在本地修改后导入MYSQL

修改MySQL语句

根据typecho插件links版本,它的MySQL.sql,是这样的:

CREATE TABLE `typecho_links` (
  `lid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'links表主键',
  `name` varchar(50) DEFAULT NULL COMMENT 'links名称',
  `url` varchar(200) DEFAULT NULL COMMENT 'links网址',
  `sort` varchar(50) DEFAULT NULL COMMENT 'links分类',
  `email` varchar(50) DEFAULT NULL COMMENT 'links邮箱',
  `image` varchar(200) DEFAULT NULL COMMENT 'links图片',
  `description` varchar(200) DEFAULT NULL COMMENT 'links描述',
  `user` varchar(200) DEFAULT NULL COMMENT '自定义',
  `state` int(10) DEFAULT '1' COMMENT 'links状态',
  `order` int(10) UNSIGNED DEFAULT '0' COMMENT 'links排序',
  PRIMARY KEY  (`lid`)
) ENGINE=MYISAM  DEFAULT CHARSET=%charset%;

于是我将Enhancement插件的MySQL.sql修改了一下,修改如下:

CREATE TABLE `typecho_links` (
  `lid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'links表主键',
  `name` varchar(50) DEFAULT NULL COMMENT 'links名称',
  `url` varchar(200) DEFAULT NULL COMMENT 'links网址',
  `sort` varchar(50) DEFAULT NULL COMMENT 'links分类',
  `email` varchar(50) DEFAULT NULL COMMENT 'links邮箱',
  `image` varchar(200) DEFAULT NULL COMMENT 'links图片',
  `description` varchar(200) DEFAULT NULL COMMENT 'links描述',
  `user` varchar(200) DEFAULT NULL COMMENT '自定义',
  `state` int(10) DEFAULT '1' COMMENT 'links状态',
  `order` int(10) UNSIGNED DEFAULT '0' COMMENT 'links排序',
  PRIMARY KEY  (`lid`)
) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE `typecho_moments` (
 `mid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'moments表主键',
  `content` text NOT NULL COMMENT '内容',
  `tags` varchar(200) DEFAULT NULL COMMENT '标签',
  `media` text DEFAULT NULL COMMENT '媒体JSON',
  `source` varchar(20) DEFAULT 'web' COMMENT '来源',
  `status` varchar(20) DEFAULT 'public' COMMENT '状态(public/private)',
  `latitude` varchar(20) DEFAULT NULL COMMENT '纬度',
  `longitude` varchar(20) DEFAULT NULL COMMENT '经度',
  `location_address` varchar(255) DEFAULT NULL COMMENT '定位地址',
  `created` int(10) UNSIGNED DEFAULT '0' COMMENT '创建时间',
  PRIMARY KEY (`mid`)
  ) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE `typecho_qq_notify_queue` (
`qid` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `message` text NOT NULL,
  `status` int(10) DEFAULT 0,
  `retries` int(10) DEFAULT 0,
  `last_error` varchar(255) DEFAULT NULL,
  `created` int(10) DEFAULT 0,
  `updated` int(10) DEFAULT 0,
  PRIMARY KEY (`qid`)
  ) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4;

导入成功!
Enhancement插件数据表成功导入数据库

varchar长度问题

显示typecho_options第一个表的name长度超过限制,发现这个name是Enhancement插件的问题,varchar(32)需要修改32修改为200或者更长,在SQL里执行以下

ALTER TABLE typecho_options MODIFY name VARCHAR(225);

修改varchar(225)后,就没有错误提示了。
代码粘贴到SQL
导入成功修改varchar长度
可以将插件禁用后,再激活,就可以进入管理,插件相关页面管理。
links管理
瞬间管理

解决附件上传失败的问题

Enhancement插件禁用时,文章附件上传图片时可以的,但是激活插件后,文章附件就不能使用。原以为是插件设置上的问题,专门又去看了一下附件设置相关的选项。开启上传附件,保存后在文章编辑中,添加照片,还是没有成功。

再学习一下后面更新

为此,注册了阿里云oss本地冗余,40g 5年 45元。试一下。

试一下效果。

体验新电影院看《飞驰人生3》 2026-03-18
随手拍了两张校花的照片分享给大家 2026-04-08

评论区

发表评论

© 2026 私密笔记文档