Как Symfony 4 генерирует ключевые имена при миграции? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть, например:* Я хочу добавить больше вручную и сохранить ту же стратегию.

Это случайно или параметризовано?

1 Ответ

0 голосов
/ 04 июня 2019

Взгляните на этот файл , например, на метод addIndex().Этот отвечает за генерацию вашего IDX_1DD399507E3C61F9 индекса.

Подробнее об этом читайте в исходном коде репозитория github

$indexName = $this->_generateIdentifierName(
    array_merge([$this->getName()], $columnNames),
    'idx',
    $this->_getMaxIdentifierLength()
);

Этот фрагмент кода вызывает _generateIdentifierName()метод родительского класса AbstractAsset, от которого вы также можете наследовать.

protected function _generateIdentifierName($columnNames, $prefix = '', $maxSize = 30)
{
    $hash = implode('', array_map(static function ($column) {
        return dechex(crc32($column));
    }, $columnNames));

    return strtoupper(substr($prefix . '_' . $hash, 0, $maxSize));
}
...