aboutsummaryrefslogtreecommitdiff
path: root/api/drizzle.config.ts
blob: 2a0ab52cb488faf0b0458b62282e8d9d212ddb4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { defineConfig } from 'drizzle-kit';

/**
 * drizzle.config.ts
 *
 * Configuração do drizzle-kit — usado pelos comandos:
 *   pnpm db:generate  → lê o schema e gera arquivos SQL de migração
 *   pnpm db:migrate   → aplica as migrações pendentes no banco
 *   pnpm db:studio    → abre o Drizzle Studio (GUI web para o banco)
 */
export default defineConfig({
  // Dialeto do banco de dados
  dialect: 'sqlite',

  // Fonte de verdade: onde está o schema Drizzle
  schema: './src/db/schema.ts',

  // Onde os arquivos SQL de migração serão gerados e lidos
  out: './src/db/migrations',

  dbCredentials: {
    // Lê a URL do banco do arquivo .env
    // Em produção, garanta que DATABASE_URL está definido no ambiente do servidor
    url: process.env['DATABASE_URL'] ?? 'file:./helpdesk.db',
  },

  // Exibe SQL gerado no terminal durante `db:generate` (útil para code review)
  verbose: true,

  // Aborta se detectar mudanças destrutivas acidentais (DROP TABLE, DROP COLUMN)
  strict: true,
});