【问题标题】:Error "No Metadata Classes to process." when generating DB tables in Symfony (using Doctrine) created using php app/console doctrine:generate:entity错误“没有要处理的元数据类”。在使用 php app/console 学说创建的 Symfony(使用 Doctrine)中生成数据库表时:generate:entity
【发布时间】:2017-01-08 12:40:18
【问题描述】:

Symfony 新手来了!我安装了 Symfony 并制作了一个控制器和一个动作,并且一些 html 正确显示。所以,Symfony 工作正常。我在数据库中创建实体表时遇到问题。我创建了一些实体(注释和其他一些制作方法 - 我尝试了几种通过控制台制作实体的不同方法,结果相同)。要创建我使用的实体:

php app/console doctrine:generate:entity

然后,当我尝试将其刷新到数据库(以创建表)时,我使用以下命令:

php app/console doctrine:schema:update --force

运行该命令后,我收到此错误,并且 - 正如我所料 - 未创建表:

我试图清除 symfony 缓存。
我检查了 AppBundle 已在 AppKernel 中注册。
我检查了实体管理器中的自动映射是否设置为 true。

我在这里缺少什么?提醒你一下,我刚刚安装了一个新的 Symfony 并完成了我上面描述的步骤。感谢您的帮助,因为我真的需要这个,因为我想学习 Symfony。

【问题讨论】:

  • 您创建了方案吗?学说:方案:创建??
  • 不,我也做不到。我删除了整个bundle,并通过控制台创建了bundle,然后通过控制台创建了表,这次成功了。
  • 如果您更改了实体注释中的某些内容清除 Doctrine 缓存:app/console 学说:缓存:clear-metadata && app/console 学说:缓存:clear-query && app/console 学说:缓存:清除-结果
  • 实体名称或文件名有错字吗?

标签: php symfony console doctrine entity


【解决方案1】:

我删除了整个bundle,通过控制台创建了bundle,然后通过控制台创建了表,这次成功了。我仍然不知道我之前的 Symfony 设置出了什么问题。

【讨论】:

    【解决方案2】:

    确保在您的 config.yml(app/config.config.yml) 中配置了您的学说->orm->auto_mapping => true。

    doctrine:
        dbal:
            ----
            ----
        orm:
            ----
            ----
            auto_mapping: true
    

    【讨论】:

    • 确实如此。所以这不是问题。
    猜你喜欢
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多