gear status
parent
5373107a03
commit
283b062d08
@ -0,0 +1,168 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE SEQUENCE IF NOT EXISTS public.hero_item_id_seq;
|
||||
|
||||
ALTER TABLE public.hero_gear
|
||||
ADD COLUMN IF NOT EXISTS item_id bigint,
|
||||
ADD COLUMN IF NOT EXISTS form_id text,
|
||||
ADD COLUMN IF NOT EXISTS name text,
|
||||
ADD COLUMN IF NOT EXISTS subtype text,
|
||||
ADD COLUMN IF NOT EXISTS rarity text,
|
||||
ADD COLUMN IF NOT EXISTS ilvl integer,
|
||||
ADD COLUMN IF NOT EXISTS base_primary integer,
|
||||
ADD COLUMN IF NOT EXISTS primary_stat integer,
|
||||
ADD COLUMN IF NOT EXISTS stat_type text,
|
||||
ADD COLUMN IF NOT EXISTS speed_modifier double precision,
|
||||
ADD COLUMN IF NOT EXISTS crit_chance double precision,
|
||||
ADD COLUMN IF NOT EXISTS agility_bonus integer,
|
||||
ADD COLUMN IF NOT EXISTS set_name text,
|
||||
ADD COLUMN IF NOT EXISTS special_effect text;
|
||||
|
||||
ALTER TABLE public.hero_inventory
|
||||
ADD COLUMN IF NOT EXISTS item_id bigint,
|
||||
ADD COLUMN IF NOT EXISTS form_id text,
|
||||
ADD COLUMN IF NOT EXISTS name text,
|
||||
ADD COLUMN IF NOT EXISTS subtype text,
|
||||
ADD COLUMN IF NOT EXISTS rarity text,
|
||||
ADD COLUMN IF NOT EXISTS ilvl integer,
|
||||
ADD COLUMN IF NOT EXISTS base_primary integer,
|
||||
ADD COLUMN IF NOT EXISTS primary_stat integer,
|
||||
ADD COLUMN IF NOT EXISTS stat_type text,
|
||||
ADD COLUMN IF NOT EXISTS speed_modifier double precision,
|
||||
ADD COLUMN IF NOT EXISTS crit_chance double precision,
|
||||
ADD COLUMN IF NOT EXISTS agility_bonus integer,
|
||||
ADD COLUMN IF NOT EXISTS set_name text,
|
||||
ADD COLUMN IF NOT EXISTS special_effect text;
|
||||
|
||||
UPDATE public.hero_gear
|
||||
SET item_id = nextval('public.hero_item_id_seq')
|
||||
WHERE item_id IS NULL;
|
||||
|
||||
UPDATE public.hero_inventory
|
||||
SET item_id = nextval('public.hero_item_id_seq')
|
||||
WHERE item_id IS NULL;
|
||||
|
||||
ALTER TABLE public.hero_gear
|
||||
ALTER COLUMN item_id SET DEFAULT nextval('public.hero_item_id_seq');
|
||||
|
||||
ALTER TABLE public.hero_inventory
|
||||
ALTER COLUMN item_id SET DEFAULT nextval('public.hero_item_id_seq');
|
||||
|
||||
ALTER TABLE public.hero_inventory
|
||||
DROP CONSTRAINT IF EXISTS hero_inventory_gear_id_key;
|
||||
|
||||
ALTER TABLE public.hero_gear
|
||||
ADD CONSTRAINT hero_gear_item_id_key UNIQUE (item_id);
|
||||
|
||||
ALTER TABLE public.hero_inventory
|
||||
ADD CONSTRAINT hero_inventory_item_id_key UNIQUE (item_id);
|
||||
|
||||
WITH canonical AS (
|
||||
SELECT DISTINCT ON (slot, name, form_id, subtype)
|
||||
id, slot, name, form_id, subtype
|
||||
FROM gear
|
||||
WHERE id <= 2317
|
||||
ORDER BY slot, name, form_id, subtype, id
|
||||
)
|
||||
UPDATE public.hero_gear hg
|
||||
SET form_id = g.form_id,
|
||||
name = g.name,
|
||||
subtype = g.subtype,
|
||||
rarity = g.rarity,
|
||||
ilvl = g.ilvl,
|
||||
base_primary = g.base_primary,
|
||||
primary_stat = g.primary_stat,
|
||||
stat_type = g.stat_type,
|
||||
speed_modifier = g.speed_modifier,
|
||||
crit_chance = g.crit_chance,
|
||||
agility_bonus = g.agility_bonus,
|
||||
set_name = g.set_name,
|
||||
special_effect = g.special_effect,
|
||||
gear_id = c.id
|
||||
FROM gear g
|
||||
JOIN canonical c ON c.slot = g.slot AND c.name = g.name AND c.form_id = g.form_id AND c.subtype = g.subtype
|
||||
WHERE hg.gear_id = g.id;
|
||||
|
||||
WITH fallback AS (
|
||||
SELECT DISTINCT ON (slot, name)
|
||||
id, slot, name
|
||||
FROM gear
|
||||
WHERE id <= 2317
|
||||
ORDER BY slot, name, id
|
||||
)
|
||||
UPDATE public.hero_gear hg
|
||||
SET form_id = g.form_id,
|
||||
name = g.name,
|
||||
subtype = g.subtype,
|
||||
rarity = g.rarity,
|
||||
ilvl = g.ilvl,
|
||||
base_primary = g.base_primary,
|
||||
primary_stat = g.primary_stat,
|
||||
stat_type = g.stat_type,
|
||||
speed_modifier = g.speed_modifier,
|
||||
crit_chance = g.crit_chance,
|
||||
agility_bonus = g.agility_bonus,
|
||||
set_name = g.set_name,
|
||||
special_effect = g.special_effect,
|
||||
gear_id = f.id
|
||||
FROM gear g
|
||||
JOIN fallback f ON f.slot = g.slot AND f.name = g.name
|
||||
WHERE hg.gear_id = g.id AND hg.gear_id > 2317;
|
||||
|
||||
WITH canonical AS (
|
||||
SELECT DISTINCT ON (slot, name, form_id, subtype)
|
||||
id, slot, name, form_id, subtype
|
||||
FROM gear
|
||||
WHERE id <= 2317
|
||||
ORDER BY slot, name, form_id, subtype, id
|
||||
)
|
||||
UPDATE public.hero_inventory hi
|
||||
SET form_id = g.form_id,
|
||||
name = g.name,
|
||||
subtype = g.subtype,
|
||||
rarity = g.rarity,
|
||||
ilvl = g.ilvl,
|
||||
base_primary = g.base_primary,
|
||||
primary_stat = g.primary_stat,
|
||||
stat_type = g.stat_type,
|
||||
speed_modifier = g.speed_modifier,
|
||||
crit_chance = g.crit_chance,
|
||||
agility_bonus = g.agility_bonus,
|
||||
set_name = g.set_name,
|
||||
special_effect = g.special_effect,
|
||||
gear_id = c.id
|
||||
FROM gear g
|
||||
JOIN canonical c ON c.slot = g.slot AND c.name = g.name AND c.form_id = g.form_id AND c.subtype = g.subtype
|
||||
WHERE hi.gear_id = g.id;
|
||||
|
||||
WITH fallback AS (
|
||||
SELECT DISTINCT ON (slot, name)
|
||||
id, slot, name
|
||||
FROM gear
|
||||
WHERE id <= 2317
|
||||
ORDER BY slot, name, id
|
||||
)
|
||||
UPDATE public.hero_inventory hi
|
||||
SET form_id = g.form_id,
|
||||
name = g.name,
|
||||
subtype = g.subtype,
|
||||
rarity = g.rarity,
|
||||
ilvl = g.ilvl,
|
||||
base_primary = g.base_primary,
|
||||
primary_stat = g.primary_stat,
|
||||
stat_type = g.stat_type,
|
||||
speed_modifier = g.speed_modifier,
|
||||
crit_chance = g.crit_chance,
|
||||
agility_bonus = g.agility_bonus,
|
||||
set_name = g.set_name,
|
||||
special_effect = g.special_effect,
|
||||
gear_id = f.id
|
||||
FROM gear g
|
||||
JOIN fallback f ON f.slot = g.slot AND f.name = g.name
|
||||
WHERE hi.gear_id = g.id AND hi.gear_id > 2317;
|
||||
|
||||
DELETE FROM hero_gear WHERE gear_id > 2317;
|
||||
DELETE FROM hero_inventory WHERE gear_id > 2317;
|
||||
DELETE FROM gear WHERE id > 2317;
|
||||
|
||||
COMMIT;
|
||||
Loading…
Reference in New Issue