docs: restart serverpod start after a migration of synced tables
The sync engine (serverpod_offline_sync v0.0.8) keeps rebuilding the projections of every space on every session of a server whose first reconciliation changed its registry of synced tables (serverpod_offline_sync#150, open). `serverpod start` migrates in the running server, so after such a migration the development server is slow until restarted; deploys reconcile in their maintenance run and aren't affected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
23b0d01d5e
commit
43834ef42b
1 changed files with 2 additions and 0 deletions
|
|
@ -36,6 +36,8 @@ Tests need no Docker. `config/test.yaml` sets `database.dataPath`, so Serverpod
|
|||
|
||||
Tooling traps: rules of `leancode_lint`'s analyzer plugin are ignored with its prefix (`// ignore: leancode_lint/missing_equatable_props`); `dart fix --apply` moves `flutter_driver` into the app's `dependencies` (as `any`) on every run, so restore it as a dev dependency (`sdk: flutter`) afterwards; never `dart format` generated code, only the hand-written paths, as `tool/check.sh` does (the server's `test/integration/test_tools/` is generated too, so format test files one by one, never the whole `test/` folder); and never rebase or check out other commits while `serverpod start` runs: its watcher regenerates code for each intermediate state, leaves stale generated files behind and hot-reloads them. Stop it first, or work in a separate worktree.
|
||||
|
||||
After a migration that adds or changes synced tables, restart `serverpod start` once it has applied it. The sync engine (checked with `serverpod_offline_sync` v0.0.8) reconciles its registry of synced tables when a server first uses the database, and if that changed the registry, every later session of that server rebuilds the projections of every space, one transaction each, until the server stops ([serverpod_offline_sync#150](https://github.com/marcelomendoncasoares/serverpod_offline_sync/issues/150), open). With the many people the tests leave in the development database, syncs then take seconds and the sync tests time out. The restarted server finds the registry as it left it. Deploys aren't affected: their maintenance run applies the migrations and reconciles before it exits (it reads the runtime settings through the engine's wrapper), so the server started after it finds nothing changed. Drop this note once #150 is fixed.
|
||||
|
||||
Checklist after doing changes, in this order:
|
||||
|
||||
- `dart format` (CLI) on the files you changed
|
||||
|
|
|
|||
Loading…
Reference in a new issue