当生成器策略设置为IDENTITY时,无法设置sequenceGenerator

sha*_*ter 5 postgresql doctrine symfony doctrine-orm

我正在尝试使用PostgreSQL的IDENTITY策略设置序列的分配大小和初始值.这不会产生我预期的SQL,但是将策略更改为SEQUENCE可行.这是有意的吗?

id:
    id:
        type: integer
        id: true
        generator:
            strategy: IDENTITY
        sequenceGenerator:
            sequenceName: table_id_seq
            allocationSize: 10
            initialValue: 100000
Run Code Online (Sandbox Code Playgroud)

Fab*_*ler 4

Doctrine 在 中初始化 ID 生成器策略Doctrine\ORM\Mapping\ClassMetadataFactoryswitch工厂中有一个大语句,切换<STRATEGY_NAME>您在 YAML 配置中提供的内容:

generator:
    strategy: <STRATEGY_NAME>
Run Code Online (Sandbox Code Playgroud)

然后,所选策略从您的配置中获取更多可选参数。

所有可用的策略都列在《学说手册》中。下一小节Sequence Generator详细介绍了该策略的选项。

从您的配置来看,您当前正在设置策略的参数Sequence Generator,同时告诉 Doctrine 使用该Identifier策略。也许这就是您正在经历的意外行为?

您可以阅读各个工厂线的源代码来明确您的期望。