Hexo迁移至Typecho

走出半载,归来仍是 Typecho 。

安装依赖

在 Hexo 站点根目录,运行下面命令,安装 hexo-2-typecho 依赖。

npm install --save hexo-2-typecho

修改配置

修改 Hexo 站点的配置文件_config.yml,加入下面配置,并参考下面的配置说明,按实际情况修改。

typecho:
    authorId: 1
    images: 'images'
    mid: 10
    cid: 10

配置说明

authorId:对应 *_usersuid 最大的字段值。
images:存放图片的位置,如果使用的图床之类的,无需理会,默认即可。如果像我一样,图片是放在 source 目录下,那么需要将这个值改成 source 目录里存放图片的文件夹名称。
mid:对应 *_metasmid 最大的字段值。
cid:对应 *_contentscid 最大的字段值。

开始转换

执行 hexo g 命令,程序会在 Hexo 根目录生成一个 typecho 目录,里面有个 usr 文件夹,直接覆盖 typecho 中的 usr 文件夹。

contents.sql、metas.sql、relationships.sql 三个文件使用数据库工具进行 sql 导入,需要注意这三个文件生成 insert 语句表前缀(t_)是否和 Typecho 生成的表前缀(typecho_)一致,不同的话,批量修改即可。

遇到问题

我在导入的时候,遇到了一个超出字段范围的异常,这是因为创建和修改时间,typecho 数据库定义的为 int(10) ,但是生成的 insert 语句是 int(13) 导致。

我的做法是找到 node_modules\hexo-2-typecho\index.js 文件,在第 187 行作用,改成下面代码,重新生成 sql 就可以了。

created: new Date().getTime() / 1000,
modified: new Date().getTime() / 1000,

还有一种更简单的做法,直接修改字段定义,改为 int(13) 。

hexo-2-typecho
Typecho数据库设计

添加新评论