Doctrine没有看到我的自定义实体

时间:2014-01-02 16:06:15

标签: symfony doctrine-orm entity

我是Symfony / Doctrine的新手。我基于我创建的表创建了一个实体“商家”。它运作得很好。

现在我已经创建了一个实体“Provider”,并希望为它生成表格。

我使用了doctrine:mapping:import,它只导入了Merchant。提供者无处可寻。

谢谢!

编辑:我尝试使用“shema:update”但它返回“无需更新 - 您的数据库已经同步”。

4 个答案:

答案 0 :(得分:1)

确保您的“提供者”类“名称”或“命名空间”是正确的,也不要忘记使用

        use Doctrine\ORM\Mapping as ORM;

如果您的实体类是注释格式.. 有时可能是它的文件名是“Provide”而不是“Provider.php”,并且类名可能不是按照其命名空间或者您忘记使用命名空间..

答案 1 :(得分:0)

如果您正在尝试基于实体创建数据库模式,则应使用不同的命令。

下面将删除并创建模式(请注意这将删除所有数据库数据):

app/console doctrine:schema:drop --force
app/console doctrine:schema:create

或者您可以更新现有架构:

app/console doctrine:schema:update --force

除了上面的命令,您还可以查看doctrine将应用于您的数据库的sql更改,而不应用它们:

app/console doctrine:schema:update --dump-sql

答案 2 :(得分:0)

确保您的数据库配置文件的数据库名称与您的实体的架构名称相匹配。

如果它们不匹配,则不会记录差异,也不会创建SQL

答案 3 :(得分:-1)

我有同样的问题。控制台重启对我有用。