sql >> Databáze >  >> RDS >> PostgreSQL

Doctrine2 nenastaví sekvenci na výchozí hodnotu pro sloupec id (postgres)

Z jemné manuál :

Navrhují AUTO pro maximální přenositelnost:

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

To by vám mělo vytvořit a zapojit sekvenci. Alternativou by bylo požádat o serial pomocí IDENTITY strategie:

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

Toto by mělo vytvořit vaše id sloupec jako typ serial a PostgreSQL vytvoří sekvenci a nastaví za vás výchozí hodnotu.

Dokumentace naznačuje, že to, co děláte, by mělo fungovat, ale dokumentace obvykle poskytuje pouze zjednodušenou verzi reality.

Zkuste použít strategy="AUTO" . Pokud to nefunguje, zkuste strategy="IDENTITY" .



  1. Jak provést vyhledávání rozlišující malá a velká písmena v klauzuli WHERE (používám SQL Server)?

  2. Skript CREATE exportovaný aplikací MySQL Workbench má na jiném počítači chybu syntaxe

  3. Funkce IF v H2 pro kompatibilitu s MySQL

  4. SQL Server Profiler - Jak filtrovat trasování tak, aby zobrazovalo pouze události z jedné databáze?