feat: add nlp cols to database schema

This commit is contained in:
2026-02-24 14:13:41 +00:00
parent 058f3ae702
commit 41f10c18cf
2 changed files with 45 additions and 6 deletions

View File

@@ -30,6 +30,7 @@ class PostgresConnector:
cursor.executemany(query, param_list) cursor.executemany(query, param_list)
self.connection.commit() self.connection.commit()
## User Management Methods
def save_user(self, username, email, password_hash): def save_user(self, username, email, password_hash):
query = """ query = """
INSERT INTO users (username, email, password_hash) INSERT INTO users (username, email, password_hash)
@@ -47,6 +48,8 @@ class PostgresConnector:
result = self.execute(query, (email,), fetch=True) result = self.execute(query, (email,), fetch=True)
return result[0] if result else None return result[0] if result else None
# Dataset Management Methods
def close(self): def close(self):
if self.connection: if self.connection:
self.connection.close() self.connection.close()

View File

@@ -6,30 +6,66 @@ CREATE TABLE users (
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
); );
CREATE TABLE has_access ( CREATE TABLE datasets (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL, user_id INTEGER NOT NULL,
post_id INTEGER NOT NULL, name VARCHAR(255) NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, description TEXT,
FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
nlp_completed BOOLEAN DEFAULT FALSE,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
); );
CREATE TABLE posts ( CREATE TABLE posts (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
dataset_id INTEGER NOT NULL,
author VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL,
title VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL,
content TEXT NOT NULL, content TEXT NOT NULL,
created_at TIMESTAMP NOT NULL, created_at TIMESTAMP NOT NULL,
source VARCHAR(255) NOT NULL source VARCHAR(255) NOT NULL,
topic VARCHAR(255),
topic_confidence FLOAT,
ner_entities JSONB,
emotion_anger FLOAT,
emotion_disgust FLOAT,
emotion_fear FLOAT,
emotion_joy FLOAT,
emotion_neutral FLOAT,
emotion_sadness FLOAT,
emotion_surprise FLOAT,
FOREIGN KEY (dataset_id) REFERENCES datasets(id) ON DELETE CASCADE
); );
CREATE TABLE comments ( CREATE TABLE comments (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
dataset_id INTEGER NOT NULL,
post_id INTEGER NOT NULL, post_id INTEGER NOT NULL,
author VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL,
content TEXT NOT NULL, content TEXT NOT NULL,
created_at TIMESTAMP NOT NULL, created_at TIMESTAMP NOT NULL,
reply_to VARCHAR(255), reply_to VARCHAR(255),
source VARCHAR(255) NOT NULL, source VARCHAR(255) NOT NULL,
FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE
topic VARCHAR(255),
topic_confidence FLOAT,
ner_entities JSONB,
emotion_anger FLOAT,
emotion_disgust FLOAT,
emotion_fear FLOAT,
emotion_joy FLOAT,
emotion_neutral FLOAT,
emotion_sadness FLOAT,
emotion_surprise FLOAT,
FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE,
FOREIGN KEY (dataset_id) REFERENCES datasets(id) ON DELETE CASCADE
); );