当我们最初设计项目时,我们有几个实体到目前为止尚未使用(我们不打算在不久的将来实施它们)。我想从我的项目中删除它们。我会这样做(手动执行所有步骤):
src/Resources/config/doctrine
src/Entity
我想知道的是:是否有任何可能支持此过程的例程(例如控制台命令)?例如,如果我运行
php app/console doctrine:schema:update --dump-sql
删除所有关系并删除文件后,我得到删除相应表的SQL语句?
答案 0 :(得分:4)
从代码中删除实体后,可以使用以下控制台命令删除表:
php bin/console doctrine:schema:update --complete --dump-sql
请注意使用--complete
选项。
以下是doctrine:schema:update
帮助文字中的相关部分:
选项:强>
--complete
如果已定义,则将删除与当前元数据无关的数据库的所有资产 [...]帮助强>
[...]
最后,请注意,如果传递
--complete
选项,此任务将删除当前元数据描述的不的所有数据库资产(例如表等)。换句话说,如果没有此选项,此任务将保留数据库中存在但未被任何元数据描述的任何“额外”表。提示:如果您的数据库包含不应由ORM管理的表,则可以使用DBAL功能在全局级别上过滤表和序列:
$config->setFilterSchemaAssetsExpression($regexp);
答案 1 :(得分:1)
答案 2 :(得分:0)
要删除symfony 3中的表,您只需运行一次迁移即可从数据库中删除未使用的表:
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate