Update schema.sql
This commit is contained in:
parent
4cb449fdd0
commit
72f79df2c8
@ -13,11 +13,42 @@ data:
|
|||||||
hashed_password TEXT NOT NULL,
|
hashed_password TEXT NOT NULL,
|
||||||
first_name TEXT,
|
first_name TEXT,
|
||||||
last_name TEXT,
|
last_name TEXT,
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
age INTEGER,
|
||||||
|
gender TEXT,
|
||||||
|
bio TEXT,
|
||||||
|
profile_picture TEXT,
|
||||||
|
location TEXT,
|
||||||
|
interests TEXT[] DEFAULT '{}',
|
||||||
|
is_active BOOLEAN DEFAULT TRUE,
|
||||||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_users_username ON users (username);
|
CREATE INDEX IF NOT EXISTS idx_users_username ON users (username);
|
||||||
CREATE INDEX IF NOT EXISTS idx_users_email ON users (email);
|
CREATE INDEX IF NOT EXISTS idx_users_email ON users (email);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_users_is_active ON users (is_active);
|
||||||
|
|
||||||
-- Placeholder for dateme-specific tables
|
-- Profiles table for additional user info
|
||||||
-- Add your application schema here
|
CREATE TABLE IF NOT EXISTS profiles (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
user_id INTEGER UNIQUE NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
|
verified BOOLEAN DEFAULT FALSE,
|
||||||
|
verification_token TEXT,
|
||||||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_profiles_user_id ON profiles (user_id);
|
||||||
|
|
||||||
|
-- Matches/Likes table
|
||||||
|
CREATE TABLE IF NOT EXISTS matches (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
|
matched_user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
|
status TEXT DEFAULT 'pending',
|
||||||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
CONSTRAINT unique_match UNIQUE (LEAST(user_id, matched_user_id), GREATEST(user_id, matched_user_id))
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_matches_user_id ON matches (user_id);
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_matches_matched_user_id ON matches (matched_user_id);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user