1. 写在前面
最近在写一个Halo的插件,为了测试用把概览里边的对外访问地址给改了,改完是可以保存的。
如图所示,过一会再运行插件的时候启动不起来了。我知道这个地址有问题,但是能保存为啥不能启动,这找谁说理去。

启动不起来就没法再改回去,就只能对数据库下手了。
2. H2数据库
Halo博客默认使用的是H2数据库,虽然一直在用但是对它知之甚少,这会要改数据了都不知道从哪下手。
通义千问告诉我可以使用H2控制台启动,先下一个H2的jar包,再通过命令行启动。

jar包下好以后执行命令,H2控制台就启动起来了。

输入JDBC URL:jdbc:h2:/Users/tiandaren/Desktop/Project/Project/plugin-links-health-monitor/workplace/db/halo-next
用户名和密码是在Halo主项目里找到的。

这就连接成功了


3. 修改数据
数据找到了,就是这一条,但是并不能直接看。

把十六进制转换成字符串以后就能看到了,红框圈出来的就是罪魁祸首。
改好之后转换成十六进制更新到表里。
注意更新的时候要使用X'...'把DATA数据表示成十六进制BLOB数据,不然就会被H2当成ASCII字符串,把每个字符传成对应的字节,最终存储的是这个字符串的UTF-8编码。


4. 重新启动


以上。