Skip to content

Commit

Permalink
Merge pull request #774 from matomo-org/dev-17875-option-migration
Browse files Browse the repository at this point in the history
Add variable migration to update existing tags
  • Loading branch information
snake14 committed Mar 21, 2024
2 parents 9e77a8b + e62e1f6 commit 5145cda
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions Updates/5.1.0-b1.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?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\TagManager;

use Piwik\Plugins\TagManager\Template\Variable\MatomoConfigurationVariable;
use Piwik\Plugins\TagManager\UpdateHelper\NewVariableParameterMigrator;
use Piwik\Updater;
use Piwik\Updater\Migration\Factory as MigrationFactory;
use Piwik\Updates as PiwikUpdates;

/**
* Update for version 5.1.0-b1.
*/
class Updates_5_1_0_b1 extends PiwikUpdates
{
/**
* @var MigrationFactory
*/
private $migration;

public function __construct(MigrationFactory $factory)
{
$this->migration = $factory;
}

/**
* Return database migrations to be executed in this update.
*
* Database migrations should be defined here, instead of in `doUpdate()`, since this method is used
* in the `core:update` command when displaying the queries an update will run. If you execute
* migrations directly in `doUpdate()`, they won't be displayed to the user. Migrations will be executed in the
* order as positioned in the returned array.
*
* @param Updater $updater
* @return Migration\Db[]
*/
public function getMigrations(Updater $updater)
{
return [];
}

/**
* Perform the incremental version update.
*
* This method should perform all updating logic. If you define queries in the `getMigrations()` method,
* you must call {@link Updater::executeMigrations()} here.
*
* @param Updater $updater
*/
public function doUpdate(Updater $updater)
{
$updater->executeMigrations(__FILE__, $this->getMigrations($updater));

// Migrate the MatomoConfiguration type variables to all include the newly configured fields.
$migrator = new NewVariableParameterMigrator(MatomoConfigurationVariable::ID, 'requireConsentForCampaignTracking', false);
$migrator->migrate();
}
}

0 comments on commit 5145cda

Please sign in to comment.