PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.3.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.3.0
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 5 years ago AddColumns.php 5 years ago AddIndex.php 5 years ago AddPrimaryKey.php 5 years ago AddUniqueKey.php 5 years ago BatchInsert.php 5 years ago BoundSql.php 5 years ago ChangeColumn.php 5 years ago ChangeColumnType.php 5 years ago ChangeColumnTypes.php 5 years ago CreateTable.php 5 years ago DropColumn.php 5 years ago DropColumns.php 5 years ago DropIndex.php 5 years ago DropPrimaryKey.php 5 years ago DropTable.php 5 years ago Factory.php 5 years ago Insert.php 5 years ago Sql.php 5 years ago
DropColumns.php
44 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 */
8 namespace Piwik\Updater\Migration\Db;
9
10 use Piwik\Db;
11 use Piwik\DbHelper;
12
13 /**
14 * @see Factory::dropColumn()
15 * @ignore
16 */
17 class DropColumns extends Sql
18 {
19 public function __construct($tableName, $columnNames)
20 {
21 $table = DbHelper::getTableColumns($tableName);
22
23 // we need to remove all not existing columns. Otherwise if only one of the columns doesn't exist, all of
24 // the columns wouldn't be removed
25 $columnNames = array_filter($columnNames, function ($columnName) use ($table) {
26 return isset($table[$columnName]);
27 });
28
29 if (empty($columnNames)) {
30 parent::__construct('', static::ERROR_CODE_COLUMN_NOT_EXISTS);
31 } else {
32 $columnNames = array_unique($columnNames);
33 $dropColumns = array_map(function ($columnName) {
34 return sprintf('DROP COLUMN `%s`', $columnName);
35 }, $columnNames);
36
37 $sql = sprintf("ALTER TABLE `%s` %s", $tableName, implode(', ', $dropColumns));
38 parent::__construct($sql, static::ERROR_CODE_COLUMN_NOT_EXISTS);
39 }
40
41 }
42
43 }
44