All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m33s
核心变更: 1. Model层时间字段改为*time.Time并设为nullable - PackageUsage.ActivatedAt/ExpiresAt - PersonalCustomerDevice/ICCID/Phone.LastUsedAt/VerifiedAt 2. 数据库迁移: - activated_at/expires_at列移除NOT NULL约束 - 清洗零值记录(status=0且activated_at<'2000-01-01') 3. 新增ActivateSpecificPackage方法:精准激活指定套餐, 修复HandlePackageQueueActivation从"查找过期包"改为直接激活payload指定套餐 4. 新增孤儿套餐恢复扫描:Worker启动或每次套餐检查时, 自动发现并恢复无status=1主套餐的孤儿载体 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9 lines
319 B
SQL
9 lines
319 B
SQL
-- 清洗 tb_package_usage 中 status=0 且 activated_at < '2000-01-01' 的零值记录
|
|
-- 注意:此迁移在 DROP NOT NULL 约束之后执行
|
|
-- 将 activated_at 和 expires_at 更新为 NULL
|
|
UPDATE tb_package_usage
|
|
SET activated_at = NULL,
|
|
expires_at = NULL
|
|
WHERE status = 0
|
|
AND activated_at < '2000-01-01';
|