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