• Модуль: perfmon
  • Путь к файлу: ~/bitrix/modules/perfmon/lib/sql/updater.php
  • Класс: BitrixPerfmonSqlUpdater
  • Вызов: Updater::generate
public function generate($sourceSql, $targetSql)
{
	$source = new Schema;
	$source->createFromString($sourceSql, $this->delimiter);

	$target = new Schema;
	$target->createFromString($targetSql, $this->delimiter);

	$diff = Compare::diff($source ,$target);
	if ($diff)
	{
		$sourceTables = $source->tables->getList();
		if ($sourceTables)
		{
			$this->tableCheck = array_shift($sourceTables);
		}
		else
		{
			$targetTables = $target->tables->getList();
			if ($targetTables)
			{
				$this->tableCheck = array_shift($targetTables);
			}
			else
			{
				$this->tableCheck = null;
			}
		}

		if (!$this->tableCheck)
			throw new NotSupportedException("no CHECK TABLE found.");

		return $this->handle($diff);
	}
	else
	{
		return "";
	}
}