From e3cb6ca6794e51c2c8befd08b6a617b23f643fac Mon Sep 17 00:00:00 2001 From: vladimir Date: Mon, 20 Mar 2017 17:47:30 +0200 Subject: [PATCH] Fix formating and rewrite migration script --- setup/sql/upgrade-00022.sql | 31 ++++++++++++++++++++++- views/campaigns/clicked.hbs | 50 ++++++++++++++++++------------------- 2 files changed, 55 insertions(+), 26 deletions(-) diff --git a/setup/sql/upgrade-00022.sql b/setup/sql/upgrade-00022.sql index 3867edd4..ad926597 100644 --- a/setup/sql/upgrade-00022.sql +++ b/setup/sql/upgrade-00022.sql @@ -3,7 +3,36 @@ SET @schema_version = '22'; # Add field device_type to campaign_tracker -ALTER TABLE `campaign_tracker` ADD COLUMN `device_type` varchar(50) DEFAULT NULL AFTER `ip`; + +# Create ALTER TABLE PROCEDURE +DROP PROCEDURE IF EXISTS `alterbyregexp`; +DELIMITER // +CREATE PROCEDURE alterbyregexp(`table_regexp` VARCHAR(255), `altertext` VARCHAR(255)) +BEGIN +DECLARE done INT DEFAULT FALSE; +DECLARE tbl VARCHAR(255); +DECLARE curs CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_schema = (SELECT DATABASE()) and table_name like table_regexp; +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; +OPEN curs; + +read_loop: LOOP +FETCH curs INTO tbl; +IF done THEN + LEAVE read_loop; +END IF; +SET @query = CONCAT('ALTER TABLE `', tbl, '`' , altertext); +PREPARE stmt FROM @query; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; +END LOOP; +CLOSE curs; +END; +// +DELIMITER ; + +# Add field device_type to campaign_tracker +CALL alterbyregexp('campaign\_tracker%', 'ADD COLUMN `device_type` varchar(50) DEFAULT NULL AFTER `ip`'); +DROP PROCEDURE IF EXISTS `alterbyregexp`; # Footer section LOCK TABLES `settings` WRITE; diff --git a/views/campaigns/clicked.hbs b/views/campaigns/clicked.hbs index 35a2bb6c..01e98867 100644 --- a/views/campaigns/clicked.hbs +++ b/views/campaigns/clicked.hbs @@ -69,31 +69,31 @@
{{#if aggregated}}{{#translate}}Subscribers who clicked on a link:{{/translate}}{{else}}{{#translate}}Subscribers who clicked on this link:{{/translate}}{{/if}}
- {{#if aggregated}}{{else}} -
- - - - - - - - - - - - -
- {{#translate}}Stats by country{{/translate}} - - {{#translate}}Stats by device type{{/translate}} -
-
-
-
-
-
- {{/if}} + {{#if aggregated}}{{else}} +
+ + + + + + + + + + + + +
+ {{#translate}}Stats by country{{/translate}} + + {{#translate}}Stats by device type{{/translate}} +
+
+
+
+
+
+ {{/if}}