PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Doctrine2 non imposta la sequenza come predefinita per la colonna id (postgres)

Dalla fine manuale :

Suggeriscono AUTO per la massima portabilità:

/**
 * @Id
 * @Column(type="integer", nullable=false)
 * @GeneratedValue
 */

Questo dovrebbe creare e collegare una sequenza per te. Un'alternativa sarebbe chiedere un serial colonna utilizzando il IDENTITY strategia:

/**
 * @Id
 * @Column(type="integer", nullable=false)
 * @GeneratedValue(strategy="IDENTITY")
 */

Questo dovrebbe creare il tuo id colonna come tipo serial e PostgreSQL creerà la sequenza e imposterà il valore predefinito per te.

La documentazione indica che ciò che stai facendo dovrebbe funzionare, ma di solito la documentazione fornisce solo una versione semplificata della realtà.

Prova a utilizzare strategy="AUTO" . Se non funziona, prova strategy="IDENTITY" .