Sobes.tech
Senior

Que tabelas e campos são necessários na base de dados PostgreSQL para este mensageiro?

sobes.tech IA

Resposta da IA

Para um mensageiro no PostgreSQL, normalmente são necessárias as seguintes tabelas e campos:

  1. users — armazena informações sobre os utilizadores:
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 — chats ou diálogos:
id SERIAL PRIMARY KEY,
title VARCHAR,
created_at TIMESTAMP DEFAULT now()
  1. conversation_members — relação entre utilizadores e chats:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
user_id INT REFERENCES users(id),
joined_at TIMESTAMP DEFAULT now()
  1. messages — mensagens nos chats:
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

Além disso, podem ser adicionadas tabelas para anexos, estados das mensagens, etc., mas estas principais garantem a funcionalidade básica do mensageiro.