D1 compartilhado e migrations

Papel no sistema

O D1 compartilhado guarda auth, API keys e dados de workflows. Por enquanto, os runtimes apps/monitor, apps/api e apps/workflows usam o mesmo banco para simplificar a operação e evitar divergência de schema.

Onde fica o código

Use packages/db como fonte de schema e migrations. Os arquivos apps/monitor/wrangler.jsonc, apps/api/wrangler.jsonc e apps/workflows/wrangler.jsonc apontam o binding DB para a mesma base e para ../../packages/db/drizzle.

Como se conecta com o resto

apps/monitor, apps/api e apps/workflows acessam D1 pelo binding DB. O estado local compartilhado fica em packages/db/.wrangler/state, então migrations e seeds precisam ser rodados uma vez para esses runtimes locais.

Como verificar

Rode pnpm db:migrate:local e pnpm db:seed:local. Para gerar novas migrations, use pnpm db:generate; para validar scripts de DB, use pnpm --filter @repo/db test.