1*59a64057SAndreas Gohr-- 1. Create new table without NOT NULL on campaign 2*59a64057SAndreas GohrCREATE TABLE campaigns_new 3*59a64057SAndreas Gohr( 4*59a64057SAndreas Gohr session TEXT PRIMARY KEY REFERENCES sessions (session) ON DELETE CASCADE ON UPDATE CASCADE, 5*59a64057SAndreas Gohr campaign TEXT, 6*59a64057SAndreas Gohr source TEXT, 7*59a64057SAndreas Gohr medium TEXT 8*59a64057SAndreas Gohr); 9*59a64057SAndreas Gohr 10*59a64057SAndreas Gohr-- 2. Copy data 11*59a64057SAndreas GohrINSERT INTO campaigns_new (session, campaign, source, medium) 12*59a64057SAndreas GohrSELECT session, campaign, source, medium FROM campaigns; 13*59a64057SAndreas Gohr 14*59a64057SAndreas Gohr-- 3. Drop old table 15*59a64057SAndreas GohrDROP TABLE campaigns; 16*59a64057SAndreas Gohr 17*59a64057SAndreas Gohr-- 4. Rename new table 18*59a64057SAndreas GohrALTER TABLE campaigns_new RENAME TO campaigns; 19*59a64057SAndreas Gohr 20*59a64057SAndreas Gohr-- 5. Recreate indexes 21*59a64057SAndreas GohrCREATE INDEX idx_campaigns_campaign ON campaigns (campaign); 22*59a64057SAndreas GohrCREATE INDEX idx_campaigns_source ON campaigns (source); 23*59a64057SAndreas GohrCREATE INDEX idx_campaigns_medium ON campaigns (medium); 24