20 lines
773 B
SQL
20 lines
773 B
SQL
CREATE TABLE friend_requests (
|
|
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
from_id INTEGER REFERENCES users(id) ON DELETE CASCADE NOT NULL,
|
|
to_id INTEGER REFERENCES users(id) ON DELETE CASCADE NOT NULL,
|
|
PRIMARY KEY (from_id, to_id)
|
|
);
|
|
|
|
CREATE INDEX outgoing_friend_requests_idx ON friend_requests(from_id);
|
|
CREATE INDEX incoming_friend_requests_idx ON friend_requests(to_id);
|
|
|
|
CREATE TABLE friendships (
|
|
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
friend_1_id INTEGER REFERENCES users(id) ON DELETE CASCADE NOT NULL,
|
|
friend_2_id INTEGER REFERENCES users(id) ON DELETE CASCADE NOT NULL,
|
|
PRIMARY KEY (friend_1_id, friend_2_id)
|
|
);
|
|
|
|
CREATE INDEX friendships_friend_1_idx ON friendships(friend_1_id);
|
|
CREATE INDEX friendships_friend_2_idx ON friendships(friend_2_id);
|