PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Updater / Migration / Db / DropColumns.php
matomo / app / core / Updater / Migration / Db Last commit date
AddColumn.php 2 years ago AddColumns.php 2 years ago AddIndex.php 2 years ago AddPrimaryKey.php 2 years ago AddUniqueKey.php 2 years ago BatchInsert.php 1 year ago BoundSql.php 2 years ago ChangeColumn.php 2 years ago ChangeColumnType.php 2 years ago ChangeColumnTypes.php 2 years ago CreateTable.php 2 months ago DropColumn.php 2 years ago DropColumns.php 2 years ago DropIndex.php 2 years ago DropPrimaryKey.php 2 years ago DropTable.php 2 years ago Factory.php 5 months ago Insert.php 2 years ago Sql.php 1 year ago
DropColumns.php
38 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Updater\Migration\Db;
10
11 use Piwik\DbHelper;
12 /**
13 * @see Factory::dropColumn()
14 * @ignore
15 */
16 class DropColumns extends \Piwik\Updater\Migration\Db\Sql
17 {
18 public function __construct($tableName, $columnNames)
19 {
20 $table = DbHelper::getTableColumns($tableName);
21 // we need to remove all not existing columns. Otherwise if only one of the columns doesn't exist, all of
22 // the columns wouldn't be removed
23 $columnNames = array_filter($columnNames, function ($columnName) use($table) {
24 return isset($table[$columnName]);
25 });
26 if (empty($columnNames)) {
27 parent::__construct('', static::ERROR_CODE_COLUMN_NOT_EXISTS);
28 } else {
29 $columnNames = array_unique($columnNames);
30 $dropColumns = array_map(function ($columnName) {
31 return sprintf('DROP COLUMN `%s`', $columnName);
32 }, $columnNames);
33 $sql = sprintf("ALTER TABLE `%s` %s", $tableName, implode(', ', $dropColumns));
34 parent::__construct($sql, static::ERROR_CODE_COLUMN_NOT_EXISTS);
35 }
36 }
37 }
38