From fb45736c14419e96d3c6432c3c37af0ee1ca09ee Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Tue, 27 Feb 2024 03:36:43 +0600 Subject: [PATCH] Extend UNIQUE constraint by new server column, to avoid possible collisions --- eos/db/saveddata/character.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/eos/db/saveddata/character.py b/eos/db/saveddata/character.py index 0c878b0668..0924d06652 100644 --- a/eos/db/saveddata/character.py +++ b/eos/db/saveddata/character.py @@ -40,19 +40,18 @@ Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now)) sso_table = Table("ssoCharacter", saveddata_meta, - Column("ID", Integer, primary_key=True), - Column("client", String, nullable=False), - Column("characterID", Integer, nullable=False), - Column("characterName", String, nullable=False), - Column("server", String, nullable=False), - Column("refreshToken", String, nullable=False), - Column("accessToken", String, nullable=False), - Column("accessTokenExpires", DateTime, nullable=False), - Column("created", DateTime, nullable=True, default=datetime.datetime.now), - Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now), - UniqueConstraint('client', 'characterID', name='uix_client_characterID'), - UniqueConstraint('client', 'characterName', name='uix_client_characterName') - ) + Column("ID", Integer, primary_key=True), + Column("client", String, nullable=False), + Column("characterID", Integer, nullable=False), + Column("characterName", String, nullable=False), + Column("server", String, nullable=False), + Column("refreshToken", String, nullable=False), + Column("accessToken", String, nullable=False), + Column("accessTokenExpires", DateTime, nullable=False), + Column("created", DateTime, nullable=True, default=datetime.datetime.now), + Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now), + UniqueConstraint('client', 'server', 'characterID', name='uix_client_server_characterID'), + UniqueConstraint('client', 'server', 'characterName', name='uix_client_server_characterName')) sso_character_map_table = Table("ssoCharacterMap", saveddata_meta, Column("characterID", ForeignKey("characters.ID"), primary_key=True),