-- ============================================================
-- TopTran — Script de criação das tabelas no PostgreSQL
-- ============================================================

CREATE TABLE IF NOT EXISTS empresas (
  id          TEXT        PRIMARY KEY,
  nome        TEXT        NOT NULL,
  custo_por_km NUMERIC(10,2) NOT NULL,
  observacoes TEXT        DEFAULT '',
  created_at  TIMESTAMPTZ DEFAULT NOW()
);

CREATE TABLE IF NOT EXISTS usuarios (
  id         TEXT PRIMARY KEY,
  email      TEXT NOT NULL UNIQUE,
  name       TEXT NOT NULL,
  token      TEXT,
  created_at TIMESTAMPTZ DEFAULT NOW()
);

CREATE TABLE IF NOT EXISTS corridas (
  id           TEXT          PRIMARY KEY,
  usuario_id   TEXT          NOT NULL REFERENCES usuarios(id) ON DELETE CASCADE,
  empresa      TEXT          NOT NULL,
  km           NUMERIC(10,2) NOT NULL,
  custo_por_km NUMERIC(10,2) NOT NULL,
  total        NUMERIC(10,2) NOT NULL,
  data         TEXT          NOT NULL,
  sincronizado SMALLINT      DEFAULT 0,
  created_at   TIMESTAMPTZ   DEFAULT NOW()
);

-- Índices para performance
CREATE INDEX IF NOT EXISTS idx_corridas_usuario_id ON corridas(usuario_id);
CREATE INDEX IF NOT EXISTS idx_corridas_sincronizado ON corridas(sincronizado);
CREATE INDEX IF NOT EXISTS idx_usuarios_email ON usuarios(email);
