无法向 Symfony 中的模型添加字段,bin/console 崩溃
Can't add a field to a model in Symfony, bin/console crashes
我正在使用 Sylius 框架。我正在关注 guide to customize models.
我正在尝试将字段 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
我还添加了一个字段,一个 getter 和一个 setter 到覆盖 Taxon
class.
然后我尝试 运行 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
将再次生效。我的更改中缺少什么?
添加新字段时,您应该doctrine:schema:update
我的一个捆绑包配置包含该模型的存储库,仅此而已。我暂时从 config.yml
中删除了捆绑包的配置,并且 bin/console
起作用了。
我正在使用 Sylius 框架。我正在关注 guide to customize models.
我正在尝试将字段 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
我还添加了一个字段,一个 getter 和一个 setter 到覆盖 Taxon
class.
然后我尝试 运行 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
将再次生效。我的更改中缺少什么?
添加新字段时,您应该doctrine:schema:update
我的一个捆绑包配置包含该模型的存储库,仅此而已。我暂时从 config.yml
中删除了捆绑包的配置,并且 bin/console
起作用了。