我使用的是Symfony 6,我使用命令“php bin/console make:entity”创建了一个实体。但这是一个测试,所以现在我想完全删除实体(PHP类+ SQL表)。我怎样才能正确地删除它呢?即使它是在生产环境中。因为我读到我们不应该在生产环境中运行“php bin/console d:s:u --force”。谢谢
yvfmudvl1#
更新、添加或删除实体可按如下方式执行:1.删除src/entity中的实体文件。1.运行命令php bin/console doctrine:migrations:diff --allow-empty-diff。(这将在/migrations中创建迁移文件,查看该文件,您将看到sql命令)1.然后运行命令php bin/console doctrine:migrations:migrate --allow-no-migration。(这将运行迁移文件并更新您的数据库)1.(可选)使用php bin/console cache:clear进行清理。我已经添加了--allow-empty-diff和--allow-no-migration选项,因此如果您打算使用部署脚本(用于生产),那么即使实体没有任何差异或更新,也可以一直运行这些脚本,并且不会抛出任何错误。
src/entity
php bin/console doctrine:migrations:diff --allow-empty-diff
/migrations
php bin/console doctrine:migrations:migrate --allow-no-migration
php bin/console cache:clear
--allow-empty-diff
--allow-no-migration
1条答案
按热度按时间yvfmudvl1#
更新、添加或删除实体可按如下方式执行:
1.删除
src/entity
中的实体文件。1.运行命令
php bin/console doctrine:migrations:diff --allow-empty-diff
。(这将在/migrations
中创建迁移文件,查看该文件,您将看到sql命令)1.然后运行命令
php bin/console doctrine:migrations:migrate --allow-no-migration
。(这将运行迁移文件并更新您的数据库)1.(可选)使用
php bin/console cache:clear
进行清理。我已经添加了
--allow-empty-diff
和--allow-no-migration
选项,因此如果您打算使用部署脚本(用于生产),那么即使实体没有任何差异或更新,也可以一直运行这些脚本,并且不会抛出任何错误。