From 19da1cf4301316d841982a1bd9f5647d078088a5 Mon Sep 17 00:00:00 2001 From: nocci Date: Sun, 4 May 2025 15:03:02 +0200 Subject: [PATCH] better user handling --- setup.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/setup.sh b/setup.sh index 25d77c6..a799d58 100644 --- a/setup.sh +++ b/setup.sh @@ -206,7 +206,7 @@ from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore import atexit from flask_migrate import Migrate -from sqlalchemy import MetaData, event +from sqlalchemy import MetaData, event, UniqueConstraint from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4, landscape, letter from reportlab.platypus import ( @@ -378,6 +378,9 @@ class User(UserMixin, db.Model): class Game(db.Model): __tablename__ = 'games' + __table_args__ = ( + UniqueConstraint('steam_key', 'user_id', name='uq_steam_key_user'), + ) id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) @@ -392,11 +395,7 @@ class Game(db.Model): platform = db.Column(db.String(50), default='pc') # with users.id - user_id = db.Column( - db.Integer, - db.ForeignKey('users.id', ondelete='CASCADE'), # Wichtig - nullable=False - ) + user_id = db.Column(db.Integer, db.ForeignKey('users.id', ondelete='CASCADE'), nullable=False) owner = db.relationship( 'User',