0
私は統合テストを行っており、IDをエンティティに直接設定することはできません。私が必要とするのは、どういうわけかDoctrineにIDを1にリセットするように指示します。Doctrine 2をリセットするID
私はflushを呼び出すと、IDが20,21、そして22,23になります。
私はテーブルを削除しようとしましたが、IDをリセットするか、これはthreadですが、何も役に立ちません。
マイコード:事前に
public function testFindingAllOrderedByDefault()
{
/** @var $bundles Bundle[] */
$bundles = $this->repository->findAll();
$this->assertCount(2, $bundles);
$this->assertSame(1, $bundles[0]->getId());
$this->assertSame(2, $bundles[1]->getId());
}
protected function prepareDatabase(EntityManager $entityManager, Connection $connection)
{
$connection->executeQuery('TRUNCATE bundle CASCADE');
$entityManager->persist(
(new Bundle())
->setPrice(1200)
->setPriceVat(5000)
->setDiscount(1000)
->setCurrency('czk')
);
$entityManager->persist(
(new Bundle())
->setPrice(1300)
->setPriceVat(4000)
->setDiscount(500)
->setCurrency('eur')
);
$entityManager->flush();
}
感謝。
おかげで、私はPostgresのを使用していますので、私は$ connection-を使用する必要があります>のexecuteQuery( 'ALTER SEQUENCEの外灘le_id_seq RESTART WITH 1 '); –