elmeg-demo/backend/migrations/add_reaction_table.py

26 lines
1.1 KiB
Python

from sqlmodel import Session, create_engine, text
from database import DATABASE_URL
def add_reaction_table():
engine = create_engine(DATABASE_URL)
with Session(engine) as session:
try:
session.exec(text("""
CREATE TABLE IF NOT EXISTS reaction (
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES "user"(id),
entity_type VARCHAR NOT NULL,
entity_id INTEGER NOT NULL,
emoji VARCHAR NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
"""))
session.exec(text("CREATE INDEX IF NOT EXISTS ix_reaction_entity_type ON reaction (entity_type)"))
session.exec(text("CREATE INDEX IF NOT EXISTS ix_reaction_entity_id ON reaction (entity_id)"))
session.commit()
print("Successfully created reaction table")
except Exception as e:
print(f"Error creating table: {e}")
if __name__ == "__main__":
add_reaction_table()