Тип перечисления Doctrine неправильно распознан в базе данных - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь добавить пользовательский класс типов для столбца enum в Doctrine, как в https://www.doctrine -project.org / projects / doctrine-orm / en / 2.6 / cookbook / mysql-enums.html # solution-2-defining-a-type Этот тип правильно распознается в моих схемах / аннотациях, однако он разрывается, если он фактически используется в базе данных.

Т.е., если столбец имеетдругого типа (например, после ALTER TABLE `reservation` CHANGE `city_tax_travel_reason` `city_tax_travel_reason` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;), инструмент схемы работает:

user@srv3:~/portal/bin/app$ ./doctrine orm:schema-tool:update --dump-sql
 The following SQL statements will be executed:
     ALTER TABLE reservation CHANGE city_tax_travel_reason city_tax_travel_reason ENUM('business', 'leisure') NOT NULL COMMENT '(DC2Type:enumtravelreason)';

Если я сделаю это, следующий вызов вернет ужасную ошибку перечисления недопустимого типа, которую я пытаюсь устранить с помощью этого класса:

user@srv3:~/portal/bin/app$ ./doctrine orm:schema-tool:update --dump-sql --force
 The following SQL statements will be executed:
     ALTER TABLE reservation CHANGE city_tax_travel_reason city_tax_travel_reason ENUM('business', 'leisure') NOT NULL COMMENT '(DC2Type:enumtravelreason)';
 Updating database schema...
     1 query was executed
 [OK] Database schema updated successfully!                                                                             
user@srv3:~/portal/bin/app$ ./doctrine orm:schema-tool:update --dump-sql
In AbstractPlatform.php line 434:
  Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.  
orm:schema-tool:update [--complete] [--dump-sql] [-f|--force]
user@srv3:~/portal/bin/app$

Я что-то упустил?

...