Piwik\Columns\Updater::getMigrationQueries PHP Method

getMigrationQueries() public method

public getMigrationQueries ( Updater $updater ) : Db[]
$updater Piwik\Updater
return Piwik\Updater\Migration\Db[]
    public function getMigrationQueries(PiwikUpdater $updater)
    {
        $sqls = array();
        $changingColumns = $this->getUpdates($updater);
        $errorCodes = array(Migration\Db\Sql::ERROR_CODE_COLUMN_NOT_EXISTS, Migration\Db\Sql::ERROR_CODE_DUPLICATE_COLUMN);
        foreach ($changingColumns as $table => $columns) {
            if (empty($columns) || !is_array($columns)) {
                continue;
            }
            $sql = "ALTER TABLE `" . Common::prefixTable($table) . "` " . implode(', ', $columns);
            $sqls[] = new Migration\Db\Sql($sql, $errorCodes);
        }
        return $sqls;
    }

Usage Example

コード例 #1
0
ファイル: UpdaterTest.php プロジェクト: mgou-net/piwik
 public function test_getMigrationQueries_ReturnsNoQueries_IfDimensionsAreInTable_ButHaveNoNewVersions()
 {
     $this->addDimensionsToTables();
     $updater = $this->getMockUpdater($hasNewVersion = false);
     $actualMigrationQueries = $this->columnsUpdater->getMigrationQueries($updater);
     $this->assertEquals(array(), $actualMigrationQueries);
 }