Files
FamilyHUB/backend/migrations/000003_create_family_members.up.sql
admin 9d845c8899 Restructured project
- backend moved to backend directory
- added and initialized frontend with vue
- moved infrastructure files to infra directory
2026-04-01 23:16:27 +03:00

26 lines
860 B
SQL

CREATE TYPE family_role AS ENUM (
'owner',
'admin',
'member',
'child'
);
CREATE TABLE family_members
(
id BIGSERIAL PRIMARY KEY,
family_id BIGINT NOT NULL REFERENCES families (id) ON DELETE CASCADE,
user_id BIGINT NOT NULL REFERENCES users (id) ON DELETE CASCADE,
role family_role NOT NULL DEFAULT 'member',
joined_at TIMESTAMP NOT NULL DEFAULT NOW(),
UNIQUE (family_id, user_id)
);
-- быстрый поиск всех членов семьи
CREATE INDEX idx_family_members_family_id ON family_members (family_id);
-- быстрый поиск всех семей пользователя
CREATE INDEX idx_family_members_user_id ON family_members (user_id);
-- composite для частых join’ов
CREATE INDEX idx_family_members_user_family ON family_members (user_id, family_id);