Files
madbase/migrations/20240101000003_control_plane.sql

31 lines
1.3 KiB
SQL

-- This migration runs on the CONTROL PLANE database (port 5433), not the tenant DB.
-- We need to ensure we migrate the correct DB.
-- For MVP, if we only have one migration pipeline, we might mix them?
-- Ideally we use `sqlx migrate run --database-url ...` for this specific migration.
-- Or we just put this table in the main DB for the MVP to avoid infrastructure complexity?
-- The `docker-compose.yml` has `control_db`.
-- Let's try to use the main DB for everything in MVP to reduce friction,
-- OR use a separate folder for control plane migrations.
-- Let's put `projects` in the `public` schema of the main DB for simplicity of the "Single Tenant / Self Hosted" mode.
-- In a real SaaS, this would be separate.
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE TABLE IF NOT EXISTS projects (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
name TEXT NOT NULL,
owner_id UUID, -- No FK to users strictly required if users are in tenant DB, but here they are same DB.
status TEXT DEFAULT 'active',
db_url TEXT NOT NULL,
jwt_secret TEXT NOT NULL DEFAULT encode(gen_random_bytes(32), 'hex'),
anon_key TEXT,
service_role_key TEXT,
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now()
);
-- Trigger to generate keys on insert? Or handle in code.
-- Let's handle in code for keys.