Не удается добавить поле к модели в Symfony, происходит сбой bin / console - PullRequest
0 голосов
/ 31 января 2019

Я работаю с Sylius Framework.Я следую руководству по настройке моделей .

Я пытаюсь добавить поле notice к модели Taxon, которое уже переопределено в моем проекте.Для этого я добавил описание поля в Taxon.orm.yml модели:

MyProject\Bundle\ShopBundle\Entity\Taxon:
    type: entity
    table: sylius_taxon

    # {Relationships code...}

    fields:
        # {Some existing fields...}

        notice:
            type: text
            nullable: true

Я также добавил поле, геттер и сеттер в переопределяющий класс Taxon.

Затем я пытаюсь запустить bin/console doctrine:migrations:diff, но когда я запускаю bin/console даже без каких-либо аргументов, происходит сбой со следующим исключением:

[Doctrine\DBAL\Exception\InvalidFieldNameException]
  An exception occurred while executing 'SELECT s0_.code AS code_0, s0_.tree_left AS tree_left_1, s0_.tree_right AS tree_right_2, s0_.tree_level AS tree_level_3, s0_.position AS position_4, s0_.id AS id_5, s0_
  .created_at AS created_at_6, s0_.updated_at AS updated_at_7, s0_.enabled AS enabled_8, s0_.default_markup AS default_markup_9, s0_.notice AS notice_10, s0_.tree_root AS tree_root_11, s0_.parent_id AS parent_
  id_12 FROM sylius_taxon s0_ WHERE s0_.parent_id IS NULL ORDER BY s0_.tree_left ASC':
  SQLSTATE[42S22]: Column not found: 1054 Unknown column 's0_.notice' in 'field list'`


[Doctrine\DBAL\Driver\PDOException]
  SQLSTATE[42S22]: Column not found: 1054 Unknown column 's0_.notice' in 'field list'`


[PDOException]
  SQLSTATE[42S22]: Column not found: 1054 Unknown column 's0_.notice' in 'field list'

Если я удаляю изменения в Taxon.orm.yml, тогда bin/console снова работает.Чего не хватает в моих изменениях?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Одна из конфигураций моих пакетов содержала репозиторий этой модели, вот и все.Я временно удалил конфигурацию пакета из config.yml, и bin/console сработало.

0 голосов
/ 31 января 2019

Когда вы добавляете новое поле, вы должны doctrine:schema:update

...