maps/python/CFReputation/sql/update_schema_1_2.sql

24 lines
837 B
SQL

-- For the update from schema 1 to 2, we add a primary key
-- to the regions table. This prevents duplicate entries being added
-- on every initialization of the reputation code.
-- To keep most configurations functional, we will select the set of distinct
-- table entries into a temporary table, then drop the cluttered table, and
-- rename the tmp table to be the same name as the dropped table.
CREATE TABLE regions_tmp(
faction TEXT,
region TEXT, -- region name (or 'ALL') this faction controls
influence NUMERIC,
PRIMARY KEY (faction, region),
CONSTRAINT influence_range CHECK(influence BETWEEN 0 AND 1)
);
INSERT INTO regions_tmp
SELECT DISTINCT faction, region, influence FROM regions;
DROP TABLE regions;
ALTER TABLE regions_tmp RENAME TO regions;
UPDATE schema SET version = 2;