Я решил привести Entity в соответствие с таблицей, чтобы doctrine:migrations:diff ничего не предлагал. Есть таблица
CREATE TABLE `monitors` (
`monitor_id` int(11) NOT NULL AUTO_INCREMENT,
`site_id` int(11) DEFAULT NULL,
`checker_id` int(11) DEFAULT NULL,
`params` longtext NOT NULL COMMENT '(DC2Type:json)',
`enabled` tinyint(3) unsigned NOT NULL DEFAULT 1,
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`monitor_id`),
UNIQUE KEY `site_id_checker_id` (`site_id`,`checker_id`),
KEY `UNIQ_863DAD3DF6BD1646` (`site_id`),
KEY `UNIQ_863DAD3D77637F8F` (`checker_id`),
CONSTRAINT `FK_863DAD3D77637F8F` FOREIGN KEY (`checker_id`) REFERENCES `checkers` (`checker_id`),
CONSTRAINT `FK_863DAD3DF6BD1646` FOREIGN KEY (`site_id`) REFERENCES `sites` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
начинаю по ней аттрибутить.
#[ORM\Entity(repositoryClass: MonitorRepository::class)]
#[ORM\Table(name: "monitors")]
#[ORM\Index(name: "UNIQ_863DAD3DF6BD1646", columns: ["site_id"])]
#[ORM\Index(name: "UNIQ_863DAD3D77637F8F", columns: ["checker_id"])]
#[ORM\Index(name: "site_id_checker_id", columns: ["site_id", "checker_id"])]
class Monitor
{
Однако последующий запуск diff выдает
Такое ощущение, что я чего-то не понимаю. diff ранее предлагал sql запросы, чтобы подогнать таблицу под Entity, то есть предлагал удалить эти индексы. Их аттрибутов ранее не было в сущности. Когда я их добавил, я ожидал, что diff ничего не скажет про эту таблицу, а тут он как бы пытается их добавить...
(хорошо бы иметь команду, которая это делала бы...)
Еще момент. У атрибута есть поле fields
https://www.doctrine-project.org/projects/doctrine...
Разъясните плиз, когда и как его надо использовать