Sobes.tech
Senior

Quali tabelle e campi sono necessari nel database PostgreSQL per questo messenger?

sobes.tech AI

Risposta dell'AI

Per un messaggero in PostgreSQL, sono generalmente necessarie le seguenti tabelle e campi:

  1. users — memorizza le informazioni sugli utenti:
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 o dialoghi:
id SERIAL PRIMARY KEY,
title VARCHAR,
created_at TIMESTAMP DEFAULT now()
  1. conversation_members — relazione tra utenti e chat:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
user_id INT REFERENCES users(id),
joined_at TIMESTAMP DEFAULT now()
  1. messages — messaggi nelle chat:
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

Inoltre, si possono aggiungere tabelle per allegati, stati dei messaggi, ecc., ma queste forniscono le funzionalità di base del messaggero.