Sobes.tech
Senior

Ce tabele și câmpuri sunt necesare în baza de date PostgreSQL pentru acest mesager?

sobes.tech AI

Răspuns de la AI

Pentru un messenger în PostgreSQL, de obicei sunt necesare următoarele tabele și câmpuri:

  1. users — stochează informații despre utilizatori:
id SERIAL PRIMARY KEY,
username VARCHAR UNIQUE NOT NULL,
email VARCHAR UNIQUE NOT NULL,
hashed_password TEXT NOT NULL,
created_at TIMESTAMP DEFAULT now()
  1. conversations — chat-uri sau dialoguri:
id SERIAL PRIMARY KEY,
title VARCHAR,
created_at TIMESTAMP DEFAULT now()
  1. conversation_members — legătura între utilizatori și chat-uri:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
user_id INT REFERENCES users(id),
joined_at TIMESTAMP DEFAULT now()
  1. messages — mesaje în chat-uri:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
sender_id INT REFERENCES users(id),
content TEXT NOT NULL,
sent_at TIMESTAMP DEFAULT now(),
edited_at TIMESTAMP

De asemenea, se pot adăuga tabele pentru atașamente, starea mesajelor etc., dar acestea asigură funcționalitatea de bază a messenger-ului.