从 symfony 4 中完全删除实体

Mar*_*ynW 5 php symfony doctrine-orm

我正在学习 Symfony 4,刚刚遵循了有关数据库和学说的指南,我现在有了一个Product.php带有关联存储库的新实体ProductRepository.php以及数据库中的一个新表。我现在想删除这个实体/存储库并相应地更新数据库。

我以为我可以简单地删除Product.php并运行php bin/console make:migration:diff

然而,一切都没有改变。是否有一些简单的命令列表来删除对实体的所有引用(我看不到配置文件中的任何更改 - 我正在使用注释)或者我是否必须弄清楚创建/修改了哪些文件,然后手动删除桌子。

小智 9

您可以通过删除这些文件来手动完成此操作:

  1. src/Entity/Product.php
  2. src/Repository/ProductRepository.php

如果您已为 Product 实体生成 CRUD,则必须删除:

  1. src/Form/ProductType.php
  2. src/Controller/ProductController.php
  3. templates/product(产品文件夹)

如果您在生产环境中,则必须运行php bin/console cache:clear以删除缓存。

在更新数据库架构之前请三思。要更新,请运行php bin/console d:s:u --force- 但要注意生产环境中的影响。

  • 请不要建议在生产环境中运行`doctrine:schema:update`。 (5认同)
  • 但是你说“如果你在生产环境中(...)清除缓存(...)。然后运行架构更新” - 这听起来像是在生产环境中运行这些命令的建议 (2认同)