如何使用doctrine2设置初始auto_increment值

Jak*_*ler 6 php mysql doctrine-orm

我使用doctrine2映射器生成我的innoDB(mysql)数据库.如何使用php注释设置auto_incremented id的初始值?

这就是我目前为我的实体类型建模的方式.

/**
 * @var integer $_id
 *
 * @Column(name="id", type="integer", nullable=false)
 * @Id
 * @GeneratedValue(strategy="IDENTITY")
 */
private $_id;
Run Code Online (Sandbox Code Playgroud)

我在文档中找到了以下代码,但它看起来好像会使用单独的表来生成id.

/**
 * @Id
 * @GeneratedValue(strategy="SEQUENCE")
 * @Column(type="integer")
 * @SequenceGenerator(sequenceName="tablename_seq", initialValue=1, allocationSize=100)
 */
Run Code Online (Sandbox Code Playgroud)

tvl*_*ooy 1

您可以设置strategy =“NONE”并在@prepersist函数中设置最后一个ID。更简单的方法是添加“ALTER TABLE some AUTO_INCRMENT = 100;” 在 DataFixture 或数据库迁移中。它不是可移植的 SQL,但它可以完成这项工作,而不会增加实体的复杂性。