Skip to content

Commit 9f5a649

Browse files
committed
Change migration to include newly added constraints
1 parent fb45736 commit 9f5a649

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

eos/db/migrations/upgrade47.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,36 @@
11
"""
2-
Migration 28
2+
Migration 46
33
4-
- adds baseItemID and mutaplasmidID to modules table
4+
- add support for server selection for SSO characters
55
"""
66
import sqlalchemy
77

8-
8+
tmpTable = """
9+
CREATE TABLE ssoCharacterTemp (
10+
ID INTEGER NOT NULL,
11+
client VARCHAR NOT NULL,
12+
characterID INTEGER NOT NULL,
13+
characterName VARCHAR NOT NULL,
14+
refreshToken VARCHAR NOT NULL,
15+
accessToken VARCHAR NOT NULL,
16+
accessTokenExpires DATETIME NOT NULL,
17+
created DATETIME,
18+
modified DATETIME,
19+
server VARCHAR,
20+
PRIMARY KEY (ID),
21+
CONSTRAINT "uix_client_server_characterID" UNIQUE (client, server, characterID),
22+
CONSTRAINT "uix_client_server_characterName" UNIQUE (client, server, characterName)
23+
)
24+
"""
925

1026
def upgrade(saveddata_engine):
1127
try:
1228
saveddata_engine.execute("SELECT server FROM ssoCharacter LIMIT 1")
1329
except sqlalchemy.exc.DatabaseError:
14-
saveddata_engine.execute("ALTER TABLE ssoCharacter ADD COLUMN server VARCHAR;")
15-
saveddata_engine.execute("UPDATE ssoCharacter SET server = 'Tranquility';")
16-
17-
18-
19-
# update all characters to TQ
30+
saveddata_engine.execute(tmpTable)
31+
saveddata_engine.execute(
32+
"INSERT INTO ssoCharacterTemp (ID, client, characterID, characterName, refreshToken, accessToken, accessTokenExpires, created, modified, server) "
33+
"SELECT ID, client, characterID, characterName, refreshToken, accessToken, accessTokenExpires, created, modified, 'Tranquility' "
34+
"FROM ssoCharacter")
35+
saveddata_engine.execute("DROP TABLE ssoCharacter")
36+
saveddata_engine.execute("ALTER TABLE ssoCharacterTemp RENAME TO ssoCharacter")

0 commit comments

Comments
 (0)