Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何删除Symfony2项目中的实体类_Php_Symfony_Doctrine Orm_Data Modeling - Fatal编程技术网

Php 如何删除Symfony2项目中的实体类

Php 如何删除Symfony2项目中的实体类,php,symfony,doctrine-orm,data-modeling,Php,Symfony,Doctrine Orm,Data Modeling,当我们最初设计我们的项目时,我们有几个到目前为止尚未使用的实体(我们不打算在不久的将来实现它们)。因此,我想从我的项目中删除它们。我将继续这样做(手动执行所有步骤): 从当前使用的实体中删除所有关系 删除doctrime ORM文件src/Resources/config/doctrine 从src/Entity 从数据库中删除该表 我想知道的是:是否有任何例程(例如控制台命令)可以支持此过程?例如,如果我跑步 php app/console doctrine:schema:update --d

当我们最初设计我们的项目时,我们有几个到目前为止尚未使用的实体(我们不打算在不久的将来实现它们)。因此,我想从我的项目中删除它们。我将继续这样做(手动执行所有步骤):

  • 从当前使用的实体中删除所有关系
  • 删除doctrime ORM文件
    src/Resources/config/doctrine
  • src/Entity
  • 从数据库中删除该表
  • 我想知道的是:是否有任何例程(例如控制台命令)可以支持此过程?例如,如果我跑步

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

    删除所有关系并删除文件后,我是否得到删除相应表的SQL语句?

    删除实体的步骤正常

    您不能从条令中删除表,因为条令对此一无所知。看看这个问题:


    从代码中删除实体后,可以使用以下控制台命令删除表:

    php bin/console doctrine:schema:update --complete --dump-sql
    
    注意
    --complete
    选项的使用


    以下是
    原则:模式:更新
    帮助文本中的相关部分:

    选项:

    --complete
    如果已定义,将删除数据库中与当前元数据不相关的所有资产。
    [……]

    帮助:

    [……]

    最后,请注意,如果传递了
    --complete
    选项,此任务将删除当前元数据未描述的所有数据库资产(例如表等)。换句话说,如果没有此选项,此任务将保留数据库中存在的、但未由任何元数据描述的任何“额外”表

    提示:如果数据库中的表不应由ORM管理,则可以使用DBAL功能在全局级别上向下筛选表和序列:

    $config->setFilterSchemaAssetsExpression($regexp);
    

    要删除symfony 3中的表,只需运行迁移,不使用的表将从数据库中删除:

    php bin/console doctrine:migrations:diff
    php bin/console doctrine:migrations:migrate
    

    看看DoctrineMigrationsBundle@Paziツ 我找不到任何对我有帮助的东西。您可以引用或链接哪些内容可以提供帮助?最好不要使用
    模式:update
    ,而只依赖迁移类,这样您就可以编写原始sql来将数据库与当前模型对齐。关键的一点是,迁移是以两种方式编写的:在您的情况下,可以使用
    up
    命令删除表,使用
    down
    命令恢复表。这非常有用,谢谢!你能提供你引用的文档的链接吗?我在Symfony或条令文档中找不到它。我通过运行
    php-bin/console-help-doctor:schema:update
    找到了此帮助文本。