Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion deployment/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ start, so scaling `WEB_REPLICAS` does not run migrations from every replica.

## Database Migrations

Schema is synced automatically by the one-shot `migrate` service via `drizzle-kit push --force`. This keeps deployment non-interactive, including schema changes Drizzle classifies as data-loss operations such as dropping columns. If schema sync fails, `web` startup is blocked; inspect the failure with `docker compose -f compose.production.yml logs migrate`.
Schema is synced automatically by the one-shot `migrate` service via `drizzle-kit push`. Non-destructive changes are applied automatically. Changes Drizzle classifies as data-loss operations fail closed and require manual intervention. If schema sync fails, `web` startup is blocked; inspect the failure with `docker compose -f compose.production.yml logs migrate`.

**Future plan:** Once the schema stabilizes, switch to `drizzle-kit generate` + `drizzle-orm migrate()` with pre-generated SQL migration files. This will eliminate the esbuild/drizzle-kit dependency from the production image.

Expand Down
2 changes: 1 addition & 1 deletion deployment/compose.postgres.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ services:
depends_on:
postgres:
condition: service_healthy
command: ["npx", "drizzle-kit", "push", "--force"]
command: ["npx", "drizzle-kit", "push"]
restart: on-failure

web:
Expand Down
2 changes: 1 addition & 1 deletion deployment/compose.production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ services:
- CONTROL_PLANE_UPDATER_URL=http://control-plane-updater:8080
- CONTROL_PLANE_UPDATER_TOKEN=${CONTROL_PLANE_UPDATER_TOKEN}
- ALLOW_SIGNUP=${ALLOW_SIGNUP:-false}
command: ["npx", "drizzle-kit", "push", "--force"]
command: ["npx", "drizzle-kit", "push"]
restart: on-failure

web:
Expand Down
Loading