[studio] add missing migration script

This commit is contained in:
Devin Zuczek
2026-10-05 14:42:01 -04:00
parent 26270e9c25
commit 53844c807f
4 changed files with 20 additions and 4 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ preview:
deploy *args:
bun turbo deploy "$@"
# Apply D1 migrations (rooms + auth own them). Defaults to --remote; pass `-- --local`
# Apply D1 migrations (every worker with a `migrate` script). Defaults to --remote; pass `-- --local`
# for the dev db. Scope with -F, e.g. `just migrate -F rooms`.
[group('2. local dev')]
[positional-arguments]
+12
View File
@@ -34,3 +34,15 @@ pnpm test
```sh
pnpm turbo deploy
```
### Migrate
This worker owns `studio_cloud_build` and `studio_unity_asset_file` on the shared
`recflare` database (`migrations/`, tracked in its own `d1_migrations_studio` table).
Deploying does not apply them; the cdn worker reads `studio_unity_asset_file` and
answers 404 for every Studio bundle until this has run.
```sh
just migrate -F studio # remote
just migrate -F studio -- --local # dev db
```
+1
View File
@@ -12,6 +12,7 @@
"deploy": "run-wrangler-deploy",
"dev": "run-wrangler-dev",
"fix:workers-types": "run-wrangler-types",
"migrate": "run-wrangler-migrate",
"test": "run-vitest"
},
"dependencies": {
+6 -3
View File
@@ -6,14 +6,17 @@
"compatibility_flags": ["nodejs_compat"],
// Shared `recflare` D1. Room co-owners come off the `room` blob and who is in a
// subroom comes off `presence` (other workers own those tables). This worker
// owns the cloud-build tables, migrated from `migrations/`. The "local"
// placeholder is replaced with RECFLARE_D1 at deploy time.
// owns the cloud-build tables, migrated from `migrations/`; its own
// migrations_table keeps that history separate from the other workers'
// migrations on the shared database. The "local" placeholder is replaced with
// RECFLARE_D1 at deploy time.
"d1_databases": [
{
"binding": "DB",
"database_name": "recflare",
"database_id": "local",
"migrations_dir": "migrations"
"migrations_dir": "migrations",
"migrations_table": "d1_migrations_studio"
}
],
// Shared `recflare-cdn` R2 bucket (also bound by `rooms` / `cdn` / `storage`).