PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Doctrine2 не задава последователност по подразбиране за колона с id (postgres)

От добре ръководство :

Предлагат AUTO за максимална преносимост:

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

Това трябва да създаде и свърже последователност за вас. Алтернатива би била да поискате serial колона с помощта на IDENTITY стратегия:

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

Това трябва да създаде вашия id колона като тип serial и PostgreSQL ще създаде последователността и ще настрои стойността по подразбиране за вас.

Документацията показва, че това, което правите, трябва да работи, но документацията обикновено предоставя само опростена версия на реалността.

Опитайте да използвате strategy="AUTO" . Ако това не работи, опитайте strategy="IDENTITY" .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. не може да се създаде потребител postgres:ролята postgres не съществува

  2. sqlalchemy и автоматични увеличения с postgresql

  3. PostgreSQL пул на връзки с PgBouncer

  4. Продължаване на транзакция след грешка при нарушение на първичния ключ

  5. PostgreSQL на корпоративния възел на Corda хвърля грешки в релацията