Doctrine2 不会将序列设置为 id 列的默认值(postgres)
举个简单的例子:如果我想在postgres中创建一个具有自动填充ID的表,我运行这个sql:
CREATE SEQUENCE person_id_seq START 1;
CREATE TABLE person (
id integer PRIMARY KEY DEFAULT nextval('person_id_seq'),
name varchar(100) NOT NULL
);
在教义中,我设定了所有属性
class Person {
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="SEQUENCE")
* @SequenceGenerator(sequenceName="person_id_seq", initialValue=1, allocationSize=100)
*/
private $id;
但是当我生成sql(php doctrine orm:schema-tool:create --dump-sql)时,我得到了它:
CREATE TABLE person (
id INT NOT NULL,
name VARCHAR(100) NOT NULL
);
CREATE SEQUENCE person_id_seq INCREMENT BY 100 MINVALUE 1 START 1
但不要将其设置为默认值
\d 人员
Column | Type | Modifiers
-------------------+--------------------------------+-----------
id | integer | not null
...
..
.