Ответ 1
Если вы хотите работать с доктриной, у таблицы должен быть первичный ключ, смотрите:
Каждый класс сущности должен иметь идентификатор/первичный ключ. Вы можете выбрать поле, которое служит идентификатором, с аннотацией
@Id
.
Ссылка: https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html#identifiers-primary-keys
Чтобы создать индекс: https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref_index
<?php
/**
* @Entity
* @Table(name="ecommerce_products",indexes={@Index(name="search_idx", columns={"name", "email"})})
*/
class ECommerceProduct
{
}
Обратите внимание, что это используется, только если вы генерируете схему из своего php-кода. Так что, если ваша таблица уже существует, вы можете просто добавить индекс самостоятельно.