Open-source multiplayer game server compatible with the RuneScape client https://www.openrs2.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

59 lines
1.5 KiB

-- @formatter:off
CREATE TABLE environments (
id INTEGER NOT NULL PRIMARY KEY,
name TEXT NOT NULL
);
INSERT INTO environments (id, name)
VALUES
(1, 'live'),
(2, 'beta');
CREATE TABLE languages (
-- Not SERIAL as these IDs are allocated by Jagex, not us.
id INTEGER NOT NULL PRIMARY KEY,
iso_code TEXT NOT NULL
);
INSERT INTO languages (id, iso_code)
VALUES
(0, 'en'),
(1, 'de'),
(2, 'fr'),
(3, 'pt');
ALTER TABLE games RENAME TO game_variants;
ALTER INDEX games_pkey RENAME TO game_variants_pkey;
ALTER INDEX games_name_key RENAME TO game_variants_name_key;
ALTER SEQUENCE games_id_seq RENAME TO game_variants_id_seq;
CREATE TABLE games (
id SERIAL NOT NULL PRIMARY KEY,
name TEXT UNIQUE NOT NULL
);
INSERT INTO games (id, name)
SELECT id, name
FROM game_variants;
SELECT setval('game_variants_id_seq', MAX(id)) FROM game_variants;
ALTER TABLE game_variants
ADD COLUMN game_id INT NULL REFERENCES games (id),
ADD COLUMN environment_id INT NOT NULL DEFAULT 1 REFERENCES environments (id),
ADD COLUMN language_id INT NOT NULL DEFAULT 0 REFERENCES languages (id);
UPDATE game_variants v
SET game_id = g.id, environment_id = 1, language_id = 0
FROM games g
WHERE g.name = v.name;
ALTER TABLE game_variants
DROP COLUMN name,
ALTER COLUMN game_id SET NOT NULL,
ALTER COLUMN environment_id DROP DEFAULT,
ALTER COLUMN language_id DROP DEFAULT;
CREATE UNIQUE INDEX ON game_variants (game_id, environment_id, language_id);