infoalloggi-monorepo/apps/db/migrations/001_users.up.sql
Marco Pedone 66ef4a7fbd feat(database): Add migrations for chat labels, messages, services, interests, announcements, pricing, orders, payments, and miscellaneous data
- Created tables for `chats_etichette`, `messages`, `servizio`, `servizio_interessi`, `servizio_annunci`, `prezziario`, `ordini`, `payments`, and `banlist`.
- Established primary and foreign key constraints for data integrity.
- Introduced enums for various types including `TipologiaPosizioneEnum`, `OrderTypeEnum`, and `PaymentStatusEnum`.
- Seeded initial data for banners, labels, flags, pricing, strings, and users.
- Implemented unique constraints where necessary to prevent duplicate entries.
2025-10-29 16:59:20 +01:00

38 lines
No EOL
1.2 KiB
SQL

-- Users
CREATE TABLE IF NOT EXISTS public.users (
id UUID DEFAULT gen_random_uuid () NOT NULL,
username TEXT NOT NULL,
email TEXT NOT NULL,
"isAdmin" boolean DEFAULT FALSE NOT NULL,
"isBlocked" boolean DEFAULT FALSE NOT NULL,
PASSWORD TEXT NOT NULL,
nome TEXT NOT NULL,
cognome TEXT NOT NULL,
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL,
reset_password_token TEXT,
reset_password_expires TIMESTAMP WITHOUT TIME ZONE,
telefono TEXT NOT NULL,
"isAdminMade" boolean DEFAULT FALSE,
"isVerified" boolean DEFAULT FALSE NOT NULL,
"verificationToken" TEXT,
"verificationTokenExpires" TIMESTAMP WITHOUT TIME ZONE,
salt TEXT NOT NULL
);
-- Primary Key
DO $$ BEGIN
ALTER TABLE public.users
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
EXCEPTION
WHEN invalid_table_definition THEN
RAISE NOTICE 'Primary key already exists. Ignoring...';
END $$;
-- Unique Email
DO $$ BEGIN IF NOT EXISTS (
SELECT 1
FROM pg_constraint
WHERE conname = 'users_email_key'
) THEN
ALTER TABLE public.users
ADD CONSTRAINT users_email_key UNIQUE (email);
END IF;
END $$;