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)
Doctrine 在 中初始化 ID 生成器策略Doctrine\ORM\Mapping\ClassMetadataFactory。switch工厂中有一个大语句,切换<STRATEGY_NAME>您在 YAML 配置中提供的内容:
generator:
strategy: <STRATEGY_NAME>
Run Code Online (Sandbox Code Playgroud)
然后,所选策略从您的配置中获取更多可选参数。
所有可用的策略都列在《学说手册》中。下一小节Sequence Generator详细介绍了该策略的选项。
从您的配置来看,您当前正在设置策略的参数Sequence Generator,同时告诉 Doctrine 使用该Identifier策略。也许这就是您正在经历的意外行为?
您可以阅读各个工厂线的源代码来明确您的期望。