Pimcore\Model\Object\Data\KeyValue\Dao::createUpdateTable PHP Метод

createUpdateTable() публичный Метод

public createUpdateTable ( )
    public function createUpdateTable()
    {
        Logger::debug("createUpdateTable called");
        $model = $this->model;
        $class = $model->getClass();
        $classId = $class->getId();
        $table = $this->getTableName();
        $db = \Pimcore\Db::get();
        $db->query("CREATE TABLE IF NOT EXISTS `" . $table . "` (\n    \t\t`id` INT NOT NULL AUTO_INCREMENT,\n    \t\t`o_id` INT NOT NULL,\n    \t\t`key` INT NOT NULL,\n    \t\t`value` VARCHAR(255),\n            `translated` LONGTEXT NULL,\n            `metadata` LONGTEXT NULL,\n    \t    PRIMARY KEY  (`id`),\n\t        INDEX `o_id` (`o_id`)\n            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
        $validColumns = $this->getValidTableColumns($table, false);
        // no caching of table definition
        if (!in_array("translated", $validColumns)) {
            $db->query("ALTER TABLE `" . $table . "` ADD COLUMN `translated` LONGTEXT NULL AFTER `value`;");
        }
        if (!in_array("metadata", $validColumns)) {
            $db->query("ALTER TABLE `" . $table . "` ADD COLUMN `metadata` LONGTEXT NULL AFTER `translated`;");
        }
        Logger::debug("createUpdateTable done");
    }