- root package.json + pnpm-workspace.yaml + tsconfig.base.json - packages/types: canonical enums (TenantStatus, AgentState) - packages/shared: re-exports types, base for future utilities - packages/database: Prisma 7 schema with driver adapter (pg), initial tenants table matching agente.md section 29, first migration applied
29 lines
882 B
SQL
29 lines
882 B
SQL
-- CreateEnum
|
|
CREATE TYPE "tenant_status" AS ENUM ('TRIAL', 'ACTIVE', 'SUSPENDED', 'PAST_DUE', 'CANCELLED');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "tenants" (
|
|
"id" UUID NOT NULL,
|
|
"code" TEXT NOT NULL,
|
|
"slug" TEXT NOT NULL,
|
|
"legal_name" TEXT NOT NULL,
|
|
"trade_name" TEXT,
|
|
"tax_id" TEXT,
|
|
"status" "tenant_status" NOT NULL DEFAULT 'TRIAL',
|
|
"timezone" TEXT NOT NULL DEFAULT 'America/Sao_Paulo',
|
|
"locale" TEXT NOT NULL DEFAULT 'pt-BR',
|
|
"billing_currency" TEXT NOT NULL DEFAULT 'BRL',
|
|
"telephony_domain" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
"deleted_at" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "tenants_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "tenants_code_key" ON "tenants"("code");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "tenants_slug_key" ON "tenants"("slug");
|