PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Doctrine2 ne définit pas la séquence par défaut pour la colonne id (postgres)

De bien manuel :

Ils suggèrent AUTO pour une portabilité maximale :

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

Cela devrait créer et câbler une séquence pour vous. Une alternative serait de demander un serial colonne en utilisant IDENTITY stratégie :

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

Celui-ci devrait créer votre id colonne de type serial et PostgreSQL créera la séquence et configurera la valeur par défaut pour vous.

La documentation indique que ce que vous faites devrait fonctionner, mais la documentation ne fournit généralement qu'une version simplifiée de la réalité.

Essayez d'utiliser strategy="AUTO" . Si cela ne fonctionne pas, essayez strategy="IDENTITY" .