File size: 2,572 Bytes
b21a4d3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
namespace Piwik\Plugins\CustomAlerts;
use Piwik\Common;
use Piwik\Updater;
use Piwik\Updater\Migration\Db as DbMigration;
use Piwik\Updater\Migration\Factory as MigrationFactory;
use Piwik\Updates;
/**
*/
class Updates_0_0_8 extends Updates
{
/**
* @var MigrationFactory
*/
private $migration;
public function __construct(MigrationFactory $factory)
{
$this->migration = $factory;
}
public function doUpdate(Updater $updater)
{
$updater->executeMigrations(__FILE__, $this->getMigrations($updater));
}
public function getMigrations(Updater $updater)
{
$triggeredTable = Common::prefixTable('alert_triggered');
return array(
$this->migration->db->sql(
"RENAME TABLE `" . Common::prefixTable('alert_log') . "` TO `" . Common::prefixTable('alert_triggered') . "`",
array(DbMigration::ERROR_CODE_DUPLICATE_COLUMN, DbMigration::ERROR_CODE_TABLE_NOT_EXISTS, DbMigration::ERROR_CODE_TABLE_EXISTS)
),
$this->migration->db->addColumns('alert_triggered', array(
'name' => 'VARCHAR(100) NOT NULL',
'login' => 'VARCHAR(100) NOT NULL',
'period' => 'VARCHAR(5) NOT NULL',
'report' => 'VARCHAR(150) NOT NULL',
'report_condition' => 'VARCHAR(50)',
'report_matched' => 'VARCHAR(1000)',
'metric' => 'VARCHAR(150) NOT NULL',
'metric_condition' => 'VARCHAR(50) NOT NULL',
'metric_matched' => 'FLOAT NOT NULL',
'compared_to' => 'TINYINT NOT NULL',
'email_me' => 'BOOLEAN NOT NULL',
'additional_emails' => 'TEXT',
'phone_numbers' => 'TEXT',
), 'value_new'),
$this->migration->db->sql("DELETE FROM `$triggeredTable`", DbMigration::ERROR_CODE_DUPLICATE_COLUMN),
$this->migration->db->sql("ALTER TABLE `$triggeredTable` DROP KEY `ts_triggered` ", array(DbMigration::ERROR_CODE_DUPLICATE_COLUMN, DbMigration::ERROR_CODE_COLUMN_NOT_EXISTS)),
$this->migration->db->sql("ALTER TABLE `$triggeredTable` ADD `idtriggered` BIGINT unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST ", DbMigration::ERROR_CODE_DUPLICATE_COLUMN)
);
}
}
|