clearvoice-api / backend /app /database.py
manan77709's picture
necessary changes for hf deploy
6efca30
Raw
History Blame Contribute Delete
1.11 kB
import psycopg2
from psycopg2.extras import RealDictCursor
import os
from dotenv import load_dotenv
load_dotenv()
DATABASE_URL = os.getenv("DATABASE_URL")
def get_connection():
return psycopg2.connect(DATABASE_URL, cursor_factory=RealDictCursor)
def setup_database():
conn = get_connection()
cur = conn.cursor()
cur.execute("CREATE EXTENSION IF NOT EXISTS vector;")
cur.execute("""
CREATE TABLE IF NOT EXISTS studies (
id SERIAL PRIMARY KEY,
pmid TEXT UNIQUE NOT NULL,
title TEXT,
abstract TEXT,
authors TEXT[],
year INT,
journal TEXT,
study_type TEXT,
embedding vector(384)
);
""")
cur.execute("""
CREATE INDEX IF NOT EXISTS studies_embedding_idx
ON studies
USING ivfflat (embedding vector_cosine_ops)
WITH (lists = 100);
""")
conn.commit()
cur.close()
conn.close()
print("Database setup complete.")
if __name__ == "__main__":
setup_database()