我已经在https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/cookbook/custom-mapping-types.html之后定义了一个自定义映射,它可以工作,但是我需要make:entity以与字符串相同的方式要求类型的长度。更重要的是,迁移需要遵循长度值。
类型为“ MyEncrypted”,在MySQL中变为varbinary,make:entity可以很好地工作,但是当我觉得应该能够使用时,我不想将“ MyEncrypted64”,“ MyEncrypted1024”,“ MyEncrypted65535”设置为请提供长度。同样与教义:schema:更新--force。
要求长度进行处理需要做什么?
我注意到,如果我有@ORM \ Column(type =“ MyEncrypted”,length = 37),则'37'确实将其放入$ fieldDeclaration var中,但migration拒绝确认实体PHP文件中的长度更改,进行“ make:migration”时不要求任何更改。同样与教义:schema:更新--force。
答案 0 :(得分:0)
最后放弃,只是使用了某种不太令人满意的(但有效的)长blob类型,因为Doctrine似乎没有变长varbinary类型的概念。
在测试超过128k条记录时,longblob在查询执行中似乎比varbinary长约50%(0.16mS和0.11mS)。它仍然“足够快”,但与纯SQL实现相比并不理想。