diff --git a/pkg/datastore/sqlstore/migrations/mysql/3_referrer_group_column.sql b/pkg/datastore/sqlstore/migrations/mysql/3_referrer_group_column.sql index 9b19891..f30c11f 100644 --- a/pkg/datastore/sqlstore/migrations/mysql/3_referrer_group_column.sql +++ b/pkg/datastore/sqlstore/migrations/mysql/3_referrer_group_column.sql @@ -1,12 +1,16 @@ -- +migrate Up -ALTER TABLE daily_referrer_stats ADD COLUMN groupname VARCHAR(255) NULL; +DROP INDEX unique_daily_referrer_stats ON daily_referrer_stats; + +ALTER TABLE daily_referrer_stats ADD COLUMN groupname VARCHAR(255); ALTER TABLE daily_referrer_stats ADD COLUMN hostname VARCHAR(255); ALTER TABLE daily_referrer_stats ADD COLUMN pathname VARCHAR(255); -UPDATE daily_referrer_stats SET hostname = SUBSTRING_INDEX( url, "/", 3) WHERE url != "" ANd hostname = ""; -UPDATE daily_referrer_stats SET pathname = CONCAT("/", SUBSTRING_INDEX( url, "/", -1)) WHERE url != "" AND pathname = ""; +UPDATE daily_referrer_stats SET hostname = SUBSTRING_INDEX( url, "/", 3) WHERE url != "" AND ( hostname = "" OR hostname IS NULL); +UPDATE daily_referrer_stats SET pathname = REPLACE(url, hostname, "") WHERE url != "" AND (pathname = '' OR pathname IS NULL); + +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(hostname, pathname, date); ALTER TABLE daily_referrer_stats DROP COLUMN url; -- +migrate Down diff --git a/pkg/datastore/sqlstore/migrations/postgres/3_referrer_group_column.sql b/pkg/datastore/sqlstore/migrations/postgres/3_referrer_group_column.sql index b06b5bf..e02cd8a 100644 --- a/pkg/datastore/sqlstore/migrations/postgres/3_referrer_group_column.sql +++ b/pkg/datastore/sqlstore/migrations/postgres/3_referrer_group_column.sql @@ -1,13 +1,15 @@ -- +migrate Up -ALTER TABLE daily_referrer_stats ADD COLUMN groupname VARCHAR(255) NULL; +ALTER TABLE daily_referrer_stats ADD COLUMN groupname VARCHAR(255); ALTER TABLE daily_referrer_stats ADD COLUMN hostname VARCHAR(255); ALTER TABLE daily_referrer_stats ADD COLUMN pathname VARCHAR(255); -UPDATE daily_referrer_stats SET hostname = CONCAT( SPLIT_PART(url, '://', 1), '://', SPLIT_PART(SPLIT_PART(url, '://', 2), '/', 1) ) WHERE url != '' AND hostname = ''; -UPDATE daily_referrer_stats SET pathname = SPLIT_PART( url, hostname, 2 ) WHERE url != '' AND pathname = ''; +UPDATE daily_referrer_stats SET hostname = CONCAT( SPLIT_PART(url, '://', 1), '://', SPLIT_PART(SPLIT_PART(url, '://', 2), '/', 1) ) WHERE url != '' AND ( hostname = "" OR hostname IS NULL); +UPDATE daily_referrer_stats SET pathname = SPLIT_PART( url, hostname, 2 ) WHERE url != '' AND (pathname = '' OR pathname IS NULL); +DROP INDEX IF EXISTS unique_daily_referrer_stats; ALTER TABLE daily_referrer_stats DROP COLUMN url; +CREATE UNIQUE INDEX unique_daily_referrer_stats ON daily_referrer_stats(hostname, pathname, date); -- +migrate Down diff --git a/pkg/datastore/sqlstore/migrations/sqlite3/3_referrer_group_column.sql b/pkg/datastore/sqlstore/migrations/sqlite3/3_referrer_group_column.sql index f08b03f..8032120 100644 --- a/pkg/datastore/sqlstore/migrations/sqlite3/3_referrer_group_column.sql +++ b/pkg/datastore/sqlstore/migrations/sqlite3/3_referrer_group_column.sql @@ -1,6 +1,6 @@ -- +migrate Up -ALTER TABLE daily_referrer_stats ADD COLUMN groupname VARCHAR(255) NULL; +ALTER TABLE daily_referrer_stats ADD COLUMN groupname VARCHAR(255); ALTER TABLE daily_referrer_stats ADD COLUMN hostname VARCHAR(255); ALTER TABLE daily_referrer_stats ADD COLUMN pathname VARCHAR(255);