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 / CreateTable.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
CreateTable.php
43 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
12 /**
13 * @see Factory::createTable()
14 * @ignore
15 */
16 class CreateTable extends Sql
17 {
18 /**
19 * Constructor.
20 * @param Db\Settings $dbSettings
21 * @param string $table Prefixed table name
22 * @param string|string[] $columnNames array(columnName => columnValue)
23 * @param string|string[] $primaryKey one or multiple columns that define the primary key
24 */
25 public function __construct(Db\Settings $dbSettings, $table, $columnNames, $primaryKey)
26 {
27 $columns = array();
28 foreach ($columnNames as $column => $type) {
29 $columns[] = sprintf('`%s` %s', $column, $type);
30 }
31
32 if (!empty($primaryKey)) {
33 $columns[] = sprintf('PRIMARY KEY ( `%s` )', implode('`, `', $primaryKey));
34 }
35
36 $sql = sprintf('CREATE TABLE `%s` (%s) ENGINE=%s DEFAULT CHARSET=utf8',
37 $table, implode(', ' , $columns), $dbSettings->getEngine());
38
39 parent::__construct($sql, static::ERROR_CODE_TABLE_EXISTS);
40 }
41
42 }
43