xref: /plugin/statistics/db/update0004.sql (revision 59a6405710015e3cf82b66fbcb12a5b8ddf5ba44)
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