执行'SELECT NEXTVAL('moneda_moneda_id_seq')'时发生异常:

时间:2013-11-20 20:38:57

标签: symfony orm doctrine-orm sequence doctrine-orm-postgres

在尝试使用doctrine2

在symfony2中插入实体时出现此错误
/**
 * Moneda
 *
 * @ORM\Table(name="moneda")
 * @ORM\Entity
 */
 class Moneda
 {
     /**
     * @var integer
     *
     * @ORM\Column(name="moneda_id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="SEQUENCE")
     * @ORM\SequenceGenerator(sequenceName="moneda_moneda_id_seq", allocationSize=1,initialValue=1)
     */
     private $monedaId;

我检查了我的数据库以检查任何拼写错误,但一切都井井有条,所以我不知道这里有什么问题所以请任何帮助将不胜感激。

这是例外

执行'SELECT NEXTVAL('moneda_moneda_id_seq')'时发生异常:

SQLSTATE [42P01]:未定义的表:7错误:没有存在的表单«moneda_moneda_id_seq» 第1行:选择NEXTVAL('moneda_moneda_id_seq')

1 个答案:

答案 0 :(得分:1)

之前我遇到过同样的问题。您必须在引用序列时包含模式名称。因此在定义序列时尝试使用类似的东西:

@ORM\SequenceGenerator(sequenceName="schema_name.moneda_moneda_id_seq", allocationSize=1,initialValue=1)

这就解决了我的问题。希望它也适合你。