Table "public.profiles" Column | Type | Collation | Nullable | Default ---------------------+--------------------------+-----------+----------+--------------------------------- id | uuid | | not null | uuid_generate_v4() user_id | uuid | | not null | name | character varying(255) | | not null | age | integer | | not null | gender | character varying(20) | | not null | looking_for | character varying(20) | | not null | bio | text | | | location | character varying(255) | | | latitude | numeric(10,8) | | | longitude | numeric(11,8) | | | photos | text[] | | | interests | text[] | | | education | character varying(255) | | | occupation | character varying(255) | | | height | integer | | | smoking | character varying(20) | | | drinking | character varying(20) | | | relationship_type | character varying(30) | | | verification_status | character varying(20) | | | 'unverified'::character varying is_active | boolean | | | true is_visible | boolean | | | true last_active | timestamp with time zone | | | CURRENT_TIMESTAMP created_at | timestamp with time zone | | | CURRENT_TIMESTAMP updated_at | timestamp with time zone | | | CURRENT_TIMESTAMP hobbies | text | | | religion | character varying(100) | | | dating_goal | character varying(20) | | | has_kids | character varying(20) | | | Indexes: "profiles_pkey" PRIMARY KEY, btree (id) "idx_profiles_active" btree (is_active, is_visible) "idx_profiles_age_gender" btree (age, gender, looking_for) "idx_profiles_dating_goal" btree (dating_goal) "idx_profiles_has_kids" btree (has_kids) "idx_profiles_location" btree (latitude, longitude) WHERE latitude IS NOT NULL AND longitude IS NOT NULL "idx_profiles_religion" btree (religion) "idx_profiles_user_id" btree (user_id) "profiles_user_id_key" UNIQUE CONSTRAINT, btree (user_id) Check constraints: "profiles_age_check" CHECK (age >= 18 AND age <= 100) "profiles_dating_goal_check" CHECK (dating_goal::text = ANY (ARRAY['serious'::character varying, 'casual'::character varying, 'friends'::character varying, 'unsure'::character varying]::text[])) "profiles_drinking_check" CHECK (drinking::text = ANY (ARRAY['never'::character varying, 'sometimes'::character varying, 'regularly'::character varying]::text[])) "profiles_gender_check" CHECK (gender::text = ANY (ARRAY['male'::character varying, 'female'::character varying, 'other'::character varying]::text[])) "profiles_has_kids_check" CHECK (has_kids::text = ANY (ARRAY['have'::character varying, 'want'::character varying, 'dont_want'::character varying, 'unsure'::character varying]::text[])) "profiles_looking_for_check" CHECK (looking_for::text = ANY (ARRAY['male'::character varying, 'female'::character varying, 'both'::character varying]::text[])) "profiles_relationship_type_check" CHECK (relationship_type::text = ANY (ARRAY['casual'::character varying, 'serious'::character varying, 'friendship'::character varying, 'anything'::character varying]::text[])) "profiles_smoking_check" CHECK (smoking::text = ANY (ARRAY['never'::character varying, 'sometimes'::character varying, 'regularly'::character varying]::text[])) "profiles_verification_status_check" CHECK (verification_status::text = ANY (ARRAY['unverified'::character varying, 'pending'::character varying, 'verified'::character varying]::text[])) Foreign-key constraints: "profiles_user_id_fkey" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE Referenced by: TABLE "profile_views" CONSTRAINT "profile_views_viewed_profile_id_fkey" FOREIGN KEY (viewed_profile_id) REFERENCES profiles(id) ON DELETE CASCADE Triggers: profiles_updated_at BEFORE UPDATE ON profiles FOR EACH ROW EXECUTE FUNCTION update_updated_at() update_profiles_updated_at BEFORE UPDATE ON profiles FOR EACH ROW EXECUTE FUNCTION update_updated_at_column()