• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/propertyindex/storage.php
  • Класс: BitrixIblockPropertyIndexStorage
  • Вызов: Storage::create
public function create()
{
	$connection = BitrixMainApplication::getConnection();

	$connection->createTable($this->getTableName(), array(
		"SECTION_ID" => new BitrixMainEntityIntegerField("SECTION_ID", array(
			'required' => true,
		)),
		"ELEMENT_ID" => new BitrixMainEntityIntegerField("ELEMENT_ID", array(
			'required' => true,
		)),
		"FACET_ID" => new BitrixMainEntityIntegerField("FACET_ID", array(
			'required' => true,
		)),
		"VALUE" => new BitrixMainEntityIntegerField("VALUE", array(
			'required' => true,
		)),
		"VALUE_NUM" => new BitrixMainEntityFloatField("VALUE_NUM", array(
			'required' => true,
		)),
		"INCLUDE_SUBSECTIONS" => new BitrixMainEntityBooleanField("INCLUDE_SUBSECTIONS", array(
			'required' => true,
			'values' => array(0, 1),
		)),
	), array("SECTION_ID", "FACET_ID", "VALUE", "VALUE_NUM", "ELEMENT_ID"));

	$connection->createIndex($this->getTableName(), 'IX_'.$this->getTableName().'_0', array("SECTION_ID", "FACET_ID", "VALUE_NUM", "VALUE", "ELEMENT_ID"));
	$connection->createIndex($this->getTableName(), 'IX_'.$this->getTableName().'_1', array("ELEMENT_ID", "SECTION_ID", "FACET_ID"));

	self::$exists[$this->iblockId] = true;
}