Php Symfony在强制更新数据库后在数据库中插入默认数据

Php Symfony在强制更新数据库后在数据库中插入默认数据,php,symfony,Php,Symfony,在任何开发人员的计算机中安装我的应用程序后,我需要插入默认状态good(StatusGoodEntity)。 如何使用Symfony 2.8+原则? 我尝试使用DoctrineFixturesBundle,但它会在插入数据之前清除数据库。 我已经有了生产数据库,并且我的新业务逻辑要求数据库中的默认数据,在插入它们之前我无法清除它们 我如何使用Yii 2: class m150101_185401_create_news_table extends Migration { public f

在任何开发人员的计算机中安装我的应用程序后,我需要插入默认状态good(
StatusGoodEntity
)。 如何使用Symfony 2.8+原则? 我尝试使用DoctrineFixturesBundle,但它会在插入数据之前清除数据库。 我已经有了生产数据库,并且我的新业务逻辑要求数据库中的默认数据,在插入它们之前我无法清除它们

我如何使用Yii 2:

class m150101_185401_create_news_table extends Migration
{
    public function safeUp()
    {
        $this->createTable('good_status', [
            'id' => $this->primaryKey(),
            'title' => $this->string()->notNull(),
            'code' => $this->integer(),
        ]);

        $this->insert('good_status', [
            'title' => 'waiting',
            'code' => 'default',
        ]);

        $this->insert('good_status', [
            'title' => 'closed',
            'code' => 'closed',
        ]);

        $this->insert('good_status', [
            'title' => 'preparing',
            'code' => 'preparing',
        ]);
    }

    ...
}

在这之后,我知道默认状态的ID,并且我可以确保它可以被使用。

您可以尝试使用
--append
标记来追加数据,而不是在填充之前清除数据库:@kix,但symfony不建议在生产数据库中使用它,此捆绑包包括在测试和开发环境中。Symfony没有任何解决方案吗?这不是关于Symfony,而是关于条令(IMO:),我看不出有任何理由不推荐在prod中使用夹具。也许是因为您通常使用它们进行测试。这里有一个这样的线索:顺便说一下,您也可以使用
containerware
迁移,并使用
EntityManager
从那里保存种子数据。