diff --git a/src/db/migrations/2023-04-09-02 server auth patch.ts b/src/db/migrations/2023-04-09-02 server auth patch.ts index 734bce5..ff856d5 100644 --- a/src/db/migrations/2023-04-09-02 server auth patch.ts +++ b/src/db/migrations/2023-04-09-02 server auth patch.ts @@ -10,31 +10,31 @@ const pgClient = new Client({ export async function up(db: Kysely): Promise { await pgClient.connect() - await pgClient.query('ALTER TABLE kill ADD servername character varying NULL;') - await pgClient.query('ALTER TABLE kill ADD host integer NULL;') + await pgClient.query('DROP TABLE IF EXISTS player') + + await pgClient.query('ALTER TABLE kill ADD COLUMN IF NOT EXISTS servername character varying NULL;') + await pgClient.query('ALTER TABLE kill ADD COLUMN IF NOT EXISTS host integer NULL;') await pgClient.query('UPDATE kill SET servername = server.name FROM server WHERE server.id = kill.server;') + + await pgClient.query('CREATE TABLE host (id SERIAL PRIMARY KEY, name character varying, token character varying)') + await pgClient.query('INSERT INTO host (token) SELECT DISTINCT token FROM server') + await pgClient.query('UPDATE kill SET host = host.id FROM host FULL JOIN server ON server.token = host.token WHERE host.token = server.token AND server.id = kill.server;') + await pgClient.query('ALTER TABLE kill ALTER COLUMN servername SET NOT NULL;') await pgClient.query('ALTER TABLE kill DROP COLUMN server;') - - //await pgClient.query('ALTER TABLE server RENAME TO hoster') - //await pgClient.query('ALTER TABLE hoster DROP COLUMN description') - //await pgClient.query('ALTER TABLE kill ADD COLUMN host integer NULL') - await pgClient.query('CREATE TABLE host (name character varying, token character varying)') - + await pgClient.query('DROP TABLE IF EXISTS server') //Update the hosts column once the hoster table is manually updated await pgClient.end() } export async function down(db: Kysely): Promise { await pgClient.connect() - //await pgClient.query('ALTER TABLE kill DROP COLUMN host') - //await pgClient.query('ALTER TABLE hoster add description character varying NULL') - //await pgClient.query('ALTER TABLE hoster RENAME TO server') - await pgClient.query('DROP TABLE host') - + await pgClient.query('ALTER TABLE kill ADD server integer NULL;') await pgClient.query(`ALTER TABLE kill ADD server integer NULL;`) await pgClient.query('UPDATE kill SET server = server.id FROM server where server.name = kill.servername;') await pgClient.query('ALTER TABLE kill ALTER COLUMN server SET NOT NULL;') await pgClient.query('ALTER TABLE kill DROP COLUMN servername;') + await pgClient.query('ALTER TABLE kill DROP COLUMN host;') + await pgClient.query('DROP TABLE IF EXISTS host') await pgClient.end() }