Commit 86b05a6
HAULDR-1: falha do realtime não pode deixar o cutover pela metade
O stageA exclui o schema `realtime` (-N realtime) apostando que re-registrar o
tenant o reconstrói. Isso vale quando o tenant é CRIADO; no cutover ele já
existe (veio do provisionamento no pg16), então o Realtime só atualiza o db_host
e PULA as migrations per-tenant. O cluster novo fica com o schema `realtime`
vazio e o applyRealtimeRls morre em `relation "realtime.messages" does not
exist`. A premissa está escrita em comentário no realtime.ts e é falsa no
re-registro.
Isso abortava o stageB DEPOIS do flip do cluster: o ufc_dev ficou com
registro=pg17, auth/rest no v17 e o tenant do pooler ainda no pg16 — meio
migrado, que é o pior estado possível.
Realtime está provisionado e MORTO na frota: 0 subscriptions e 0 messages em
todos os 8 projetos habilitados; o único slot de replicação em uso é do
PowerSync (db_maglink, que fica no pg16). db_kelvin e db_zyramed já estavam no
v17 com 0 tabelas em `realtime` e ninguém sentiu. Logo um realtime quebrado não
custa nada hoje, e um cutover pela metade custa o app.
Passa a avisar alto e terminar a mudança. Reprovisionar realtime no pg17 exige
dropar e recriar o tenant p/ as migrations rodarem — dívida separada.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 6794515 commit 86b05a6
1 file changed
Lines changed: 25 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
399 | 399 | | |
400 | 400 | | |
401 | 401 | | |
402 | | - | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
403 | 427 | | |
404 | 428 | | |
405 | 429 | | |
| |||
0 commit comments