24 lines
		
	
	
		
			837 B
		
	
	
	
		
			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;
 |