日历本默认名:旅程本应叫「旅程」不是「旅行」 #71

Open
opened 2026-11-05 09:25:49 +00:00 by laoyang · 0 comments
Owner

日历本默认名:旅程本应叫「旅程」,不是「旅行」

用户(2026-11-05)

「网页端修改一下:旅程的日历本同步到日历本,它的日历本名字就叫"旅程",
观影就叫"观影"。我看现在"旅程"叫"旅行",这个不对,应该改过来。」

现状

数据库 calendars 表:

id=2  name=旅行  kind=trip   ← 要改成「旅程」
id=4  name=旅行  kind=trip   ← 要改成「旅程」
id=1  name=观影  kind=movie  ✅ 已经对了
id=3  name=观影  kind=movie  ✅ 已经对了

(出现两套是因为历史上 seedDefaults 重复跑过,不影响功能 —— mine() 按 kind 分组时用的是第一条。)

根因

默认本的名字写在 app/Calendar.php 的 DEFAULT_BOOKS 常量里:

'movie'   => ['观影', '#7A4E8C'],
'trip'    => ['旅行', '#3F7D5A'],   // ← 这里

这段只在新家庭首次 seed 时用。已经建好的家庭,数据在库里,改常量不会回溯。

改法

① 常量改掉(影响新家庭)

'trip' => ['旅程', '#3F7D5A'],

② 已有数据改掉(影响当前家庭)

UPDATE calendars SET name = '旅程' WHERE kind = 'trip' AND name = '旅行';

⚠️ 只改 name = '旅行' 的行,不要无脑按 kind 覆盖 ——
用户可能自己改过名(虽然 trip 本被代码禁止改名,但按值匹配更安全)。

③ install.php 里的默认本也要改

install.php:86 附近有同样的默认本初始化,容易漏。

为什么不是"用户自己改名"

代码里 trip / movie 两本是派生本,明确禁止改名换色
(index.php:5907:预置的观影/旅行本不能改名换色)。
⇒ 用户改不了,只能我们改默认值。

验收

  • 网页端「日历本」页里,旅程本显示「旅程」
  • 新建一个家庭(或重装)时,默认本也叫「旅程」
  • 观影本仍是「观影」(本来对的,别改坏)
  • 日历里行程条目所属的日历本名显示「旅程」

为什么单独建单

与 #67/#69 无关:那两张是行程条目在日历里的图标与地址。本单只改 calendars 表的默认本名字(DEFAULT_BOOKS 常量 + 存量数据),属日历本配置。

# 日历本默认名:旅程本应叫「旅程」,不是「旅行」 ## 用户(2026-11-05) > 「网页端修改一下:旅程的日历本同步到日历本,它的日历本名字就叫"旅程", > 观影就叫"观影"。我看现在"旅程"叫"旅行",这个不对,应该改过来。」 ## 现状 数据库 `calendars` 表: ``` id=2 name=旅行 kind=trip ← 要改成「旅程」 id=4 name=旅行 kind=trip ← 要改成「旅程」 id=1 name=观影 kind=movie ✅ 已经对了 id=3 name=观影 kind=movie ✅ 已经对了 ``` (出现两套是因为历史上 seedDefaults 重复跑过,不影响功能 —— `mine()` 按 kind 分组时用的是第一条。) ## 根因 默认本的名字写在 `app/Calendar.php` 的 `DEFAULT_BOOKS` 常量里: ```php 'movie' => ['观影', '#7A4E8C'], 'trip' => ['旅行', '#3F7D5A'], // ← 这里 ``` 这段只在**新家庭首次 seed** 时用。已经建好的家庭,数据在库里,改常量不会回溯。 ## 改法 ### ① 常量改掉(影响新家庭) ```php 'trip' => ['旅程', '#3F7D5A'], ``` ### ② 已有数据改掉(影响当前家庭) ```sql UPDATE calendars SET name = '旅程' WHERE kind = 'trip' AND name = '旅行'; ``` ⚠️ **只改 `name = '旅行'` 的行**,不要无脑按 kind 覆盖 —— 用户可能自己改过名(虽然 trip 本被代码禁止改名,但按值匹配更安全)。 ### ③ `install.php` 里的默认本也要改 `install.php:86` 附近有同样的默认本初始化,容易漏。 ## 为什么不是"用户自己改名" 代码里 `trip` / `movie` 两本是**派生本**,明确禁止改名换色 (`index.php:5907`:预置的观影/旅行本不能改名换色)。 ⇒ 用户改不了,只能我们改默认值。 ## 验收 - [ ] 网页端「日历本」页里,旅程本显示「旅程」 - [ ] 新建一个家庭(或重装)时,默认本也叫「旅程」 - [ ] 观影本仍是「观影」(本来对的,别改坏) - [ ] 日历里行程条目所属的日历本名显示「旅程」 --- ### 为什么单独建单 与 #67/#69 无关:那两张是行程条目在日历里的图标与地址。本单只改 calendars 表的默认本名字(DEFAULT_BOOKS 常量 + 存量数据),属日历本配置。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: laoyang/FamilyBook#71