|
1 | 1 | """ |
2 | | -Migration 28 |
| 2 | +Migration 46 |
3 | 3 |
|
4 | | -- adds baseItemID and mutaplasmidID to modules table |
| 4 | +- add support for server selection for SSO characters |
5 | 5 | """ |
6 | 6 | import sqlalchemy |
7 | 7 |
|
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 | +""" |
9 | 25 |
|
10 | 26 | def upgrade(saveddata_engine): |
11 | 27 | try: |
12 | 28 | saveddata_engine.execute("SELECT server FROM ssoCharacter LIMIT 1") |
13 | 29 | 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