Commit fb5d6dd
authored
incremental migration: use a single sql connection (tldraw#7052)
after trying this in staging yesterday we noticed a spike in sql
connections.
I had cursor hoist the connection to the parent process and clean up the
migration script a little.
### Change type
- [x] `other`
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Switches batch user migration to a single-connection, sequential flow
with per-user sleep, new stats/progress, and matching UI/API changes.
>
> - **Backend (sync-worker)**:
> - Replace batch migration with sequential per-user loop using one PG
pool; add `sleepMs` param only.
> - Introduce `startUserMigration`, `getNextUnmigratedUser`,
`getNumUnmigratedUsers`, `getTotalUsers` helpers.
> - Use SQL function `migrate_user_to_groups(...)` and force user DO
reboot; send richer stats (`totalUsers`, `usersToMigrate`,
`successCount`, `failureCount`, `progress`).
> - Update SSE endpoint `/app/admin/migrate_users_batch` to emit new
progress schema; `/app/admin/unmigrated_users_count` now returns DB
count directly.
> - **Frontend (admin.tsx)**:
> - Simplify Batch Migration UI: remove `batchSize` and `maxUsers`; add
`sleepMs` only.
> - Update confirmation text, help copy, and stats display to show
`usersToMigrate` and percentage `progress`.
> - Stream handling now directly sets `stats` from SSE `details`;
updated controls to start/stop accordingly.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
d86ab5f. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->1 parent fc8a52c commit fb5d6dd
2 files changed
Lines changed: 90 additions & 148 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
488 | 488 | | |
489 | 489 | | |
490 | 490 | | |
491 | | - | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
492 | 500 | | |
493 | 501 | | |
494 | 502 | | |
495 | | - | |
496 | | - | |
497 | | - | |
| 503 | + | |
498 | 504 | | |
499 | 505 | | |
500 | 506 | | |
| |||
540 | 546 | | |
541 | 547 | | |
542 | 548 | | |
543 | | - | |
544 | | - | |
545 | | - | |
| 549 | + | |
546 | 550 | | |
547 | 551 | | |
548 | 552 | | |
| |||
552 | 556 | | |
553 | 557 | | |
554 | 558 | | |
555 | | - | |
| 559 | + | |
556 | 560 | | |
557 | 561 | | |
558 | 562 | | |
559 | | - | |
560 | | - | |
| 563 | + | |
561 | 564 | | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | 565 | | |
566 | 566 | | |
567 | 567 | | |
| |||
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
582 | | - | |
583 | | - | |
584 | | - | |
585 | | - | |
586 | | - | |
587 | | - | |
588 | | - | |
589 | | - | |
590 | | - | |
591 | | - | |
| 582 | + | |
592 | 583 | | |
593 | 584 | | |
594 | 585 | | |
| |||
615 | 606 | | |
616 | 607 | | |
617 | 608 | | |
618 | | - | |
| 609 | + | |
619 | 610 | | |
620 | 611 | | |
621 | 612 | | |
| |||
640 | 631 | | |
641 | 632 | | |
642 | 633 | | |
643 | | - | |
644 | | - | |
645 | | - | |
| 634 | + | |
| 635 | + | |
646 | 636 | | |
647 | 637 | | |
648 | 638 | | |
649 | 639 | | |
650 | 640 | | |
651 | 641 | | |
652 | 642 | | |
653 | | - | |
| 643 | + | |
654 | 644 | | |
655 | | - | |
| 645 | + | |
656 | 646 | | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | | - | |
| 647 | + | |
| 648 | + | |
672 | 649 | | |
673 | 650 | | |
674 | 651 | | |
675 | 652 | | |
676 | 653 | | |
677 | 654 | | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | 655 | | |
693 | 656 | | |
694 | 657 | | |
| |||
699 | 662 | | |
700 | 663 | | |
701 | 664 | | |
702 | | - | |
703 | | - | |
| 665 | + | |
| 666 | + | |
704 | 667 | | |
705 | 668 | | |
706 | 669 | | |
| |||
712 | 675 | | |
713 | 676 | | |
714 | 677 | | |
715 | | - | |
716 | | - | |
717 | | - | |
| 678 | + | |
718 | 679 | | |
719 | 680 | | |
720 | 681 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
67 | | - | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
75 | | - | |
76 | | - | |
| 74 | + | |
77 | 75 | | |
78 | 76 | | |
79 | 77 | | |
| |||
95 | 93 | | |
96 | 94 | | |
97 | 95 | | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
| 96 | + | |
106 | 97 | | |
107 | 98 | | |
108 | 99 | | |
| |||
397 | 388 | | |
398 | 389 | | |
399 | 390 | | |
400 | | - | |
| 391 | + | |
401 | 392 | | |
402 | 393 | | |
403 | 394 | | |
404 | 395 | | |
405 | | - | |
| 396 | + | |
| 397 | + | |
406 | 398 | | |
407 | 399 | | |
408 | | - | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
409 | 414 | | |
410 | 415 | | |
411 | 416 | | |
412 | | - | |
413 | | - | |
414 | | - | |
| 417 | + | |
415 | 418 | | |
416 | 419 | | |
417 | 420 | | |
418 | 421 | | |
419 | 422 | | |
420 | | - | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
421 | 427 | | |
422 | | - | |
423 | | - | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
424 | 437 | | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
| 438 | + | |
434 | 439 | | |
435 | | - | |
| 440 | + | |
436 | 441 | | |
437 | 442 | | |
438 | 443 | | |
439 | 444 | | |
440 | | - | |
441 | | - | |
442 | 445 | | |
443 | 446 | | |
444 | 447 | | |
445 | | - | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
446 | 454 | | |
447 | 455 | | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
| 456 | + | |
455 | 457 | | |
456 | 458 | | |
457 | 459 | | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
| 460 | + | |
462 | 461 | | |
463 | 462 | | |
464 | | - | |
465 | | - | |
466 | | - | |
467 | | - | |
| 463 | + | |
468 | 464 | | |
469 | 465 | | |
470 | 466 | | |
471 | 467 | | |
472 | | - | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
473 | 475 | | |
474 | 476 | | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | | - | |
483 | | - | |
484 | | - | |
485 | | - | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
486 | 483 | | |
487 | 484 | | |
488 | 485 | | |
| |||
492 | 489 | | |
493 | 490 | | |
494 | 491 | | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
506 | 498 | | |
507 | 499 | | |
508 | 500 | | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
| 501 | + | |
518 | 502 | | |
519 | 503 | | |
520 | 504 | | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | 505 | | |
525 | 506 | | |
526 | 507 | | |
0 commit comments