fix: make Stripe invoice webhooks monotonic
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
@@ -55,9 +55,9 @@ curl --fail http://127.0.0.1:8080/metrics
|
||||
|
||||
### 更新与回滚
|
||||
|
||||
更新代码后保留 `.env.production` 和命名卷。包含迁移 `017`、`018` 的版本不能直接让旧、新 Worker 并行滚动:先备份数据库并停止旧 Worker,再构建新镜像。
|
||||
更新代码后保留 `.env.production` 和命名卷。包含迁移 `017` 至 `019` 的版本不能直接让旧、新 Worker 并行滚动:先备份数据库并停止旧 Worker,再构建新镜像。
|
||||
|
||||
迁移 `017` 会在发现重复 Customer 或同用户多条未取消 Stripe 订阅时主动失败。部署前先检查并人工对账,两个查询都必须返回 0 行:
|
||||
迁移 `017` 会在发现重复 Customer 或同用户多条未取消 Stripe 订阅时主动失败,迁移 `019` 会在发现同一 Stripe 发票对应多行时主动失败。部署前先检查并人工对账,三个查询都必须返回 0 行:
|
||||
|
||||
```sql
|
||||
SELECT billing_customer_id, COUNT(*)
|
||||
@@ -71,6 +71,12 @@ FROM subscriptions
|
||||
WHERE provider = 'stripe' AND status <> 'canceled'
|
||||
GROUP BY user_id
|
||||
HAVING COUNT(*) > 1;
|
||||
|
||||
SELECT provider, provider_invoice_id, COUNT(*)
|
||||
FROM invoices
|
||||
WHERE provider_invoice_id IS NOT NULL
|
||||
GROUP BY provider, provider_invoice_id
|
||||
HAVING COUNT(*) > 1;
|
||||
```
|
||||
|
||||
推荐顺序:
|
||||
|
||||
Reference in New Issue
Block a user