-/3 分钟/

xuhao

摘要

如果想要将编号从 5 改回 1,有三种方法。方法一是直接修改现有文章的 ID,方法二是重置整个数据库,方法三是修改代码层面的显示逻辑。建议先备份数据,然后选择适合的方法。方法二是最干净的方法,直接清空数据库并重新同步 GitHub 仓库中的文章。操作前需要确认表名,并注意备份数据以避免数据丢失。

这个编号(如 #005)通常是由数据库(Cloudflare D1)里的 id 字段生成的。由于 id 字段通常设置了 AUTOINCREMENT(自增) 属性,即使你删除了前面的 001-004 号文章,数据库的计数器依然会从 5 开始往后排。

要将其改回从 1 开始,有三种方法。建议先备份数据。

方法一:直接修改现有文章的 ID(最简单)

如果你现在只有 1 篇文章(编号是 5),想把它改成 1,可以直接在 Cloudflare 控制台运行 SQL。

1. 登录 Cloudflare 控制台

2. 进入 Workers & Pages -> D1 -> 找到你的数据库(通常名字叫 flare-stack 或类似)。

3. 点击 Console 标签页。

4. 输入以下 SQL 语句并执行(假设表名是 posts):

SQL
-- 1. 将现有的 5 号文章改为 1 号
UPDATE posts SET id = 1 WHERE id = 5;

-- 2. 重置计数器,让下一篇文章从 2 开始
UPDATE sqlite_sequence SET seq = 1 WHERE name = 'posts';

方法二:重置整个数据库(最干净,推荐)

由于 flare-stack-blog 这种博客的设计初衷是 GitHub 是数据源(Source of Truth),数据库只是一个索引。如果你的 GitHub 仓库里已经存放了所有的 Markdown 文章,那么最简单的办法是清空数据库重新同步。

1. 清空数据库表:

在 D1 的 Console 中运行:

SQL
DELETE FROM posts;
DELETE FROM sqlite_sequence WHERE name = 'posts';

2. 重新触发工作流:

* 回到你的 GitHub 仓库。

点击 Actions -> 找到 post-process-workflow

点击 *Run workflow** 手动运行一次;或者随便修改一篇 GitHub 里的文章提交,触发自动更新。

3. 效果:

脚本会扫描 GitHub 里的所有文章,按顺序重新写入 D1 数据库,编号就会从 001、002 开始重新排列。

方法三:修改代码层面的显示逻辑(不推荐)

如果你不想动数据库,只想让前端显示的时候好看,可以在代码里把 #005 这种显示逻辑改成“文章总数排名”。但这样做会导致你的文章 URL(如果 URL 里包含 ID 的话)发生变化,不建议这样做。

⚠️ 重要提示:

1. 关于 URL: 如果你的文章访问链接是 xxxx.com/post/5,你把它改成 1 之后,旧的链接(如果有的话)就会失效。如果是刚建好的博客,没关系;如果有已经发布的文章,请慎重。

2. 确认表名: 这个博客默认的表名通常是 posts。如果不确定,可以在 D1 的 Tables 页面确认一下。

3. 备份: 在 D1 的控制台有一个 Backups 选项,操作前建议先点一下 Create Backup

总结建议:

如果你 GitHub 里有文章源码,用 方法二 最省心,它会自动按文件顺序帮你排好 001, 002...。

End of Article