magento 2 добавить уникальный ключ на несколько столбцов, используя installschema - PullRequest
0 голосов
/ 04 апреля 2019

Здесь я пытаюсь создать уникальный ключ, используя installSchema. Здесь определен массив имен столбцов, к которым в совокупности я хочу применить уникальный ключ

$arrayOfColumnsName = array('column1', 'column2');

здесь определен метод addIndex для создания уникального ключа

->addIndex(
            $installer->getIdxName(
                $installer->getTable('table_name'),
                $arrayOfColumnsName,
               \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE
            ),
            $arrayOfColumnsName,
            ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE]
        )

Это создает уникальный ключ только для первого столбца вместо обоих столбцов, нуждается в помощи для того же самого

1 Ответ

1 голос
/ 11 апреля 2019

Заголовок

Вы можете использовать тип индекса как

\Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE

Для нескольких столбцов:

->addIndex(
    $installer->getIdxName(
        'table_name',
        ['column1', 'column2', 'column3'],
        \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE
    ),
    ['column1', 'column2', 'column3'],
    ['type' => \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE]
);

Для ref:

Пожалуйста, проверьте поставщика\ Magento \ модуль каталог \ Setup \ InstallSchema.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...