mbbender / doctrine-ordered-uuid-generator
为MySQL添加了有序UUID类型,它将CHAR(36)替换为重新排列的UUID()字符串作为BINARY 16,从而显著提高了性能。
v0.1.0
2015-05-07 12:48 UTC
Requires
- doctrine/orm: 2.5.*
This package is not auto-updated.
Last update: 2024-09-28 17:59:55 UTC
README
这个库正在开发中,除了最基本的实体创建外,还没有与其他任何事情进行测试。关系尚未测试。未测试填充。未测试性能。
这个Doctrine2 Id生成器的目的是在使用UUID时提高性能。它根据Karthik Appigatla的文章(http://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/)中描述的方法创建有序UUID。
#安装和用法
添加到composer require
"mbbender/doctrine-ordered-uuid-generator":"dev-master"
##在实体管理器中注册类型
Doctrine\DBAL\Types\Type::addType('ordered_guid','Mbbender\Doctrine\DBAL\Types\OrderedGuidType');
###在Laravel中安装 https://github.com/atrauzzi/laravel-doctrine
在config/doctrine.php中添加
'custom_type' => [
`'ordered_guid' => 'Mbbender\Doctrine\DBAL\Types\OrderedGuidType'`
]
##在实体中实现
/** * @ORM\Id * @ORM\GeneratedValue(strategy="CUSTOM") * @ORM\Column(type="ordered_guid") * @ORM\CustomIdGenerator(class="Mbbender\Doctrine\ORM\Id\OrderedGuidGenerator") */ private $id;
##注意:基本的测试是用MySQL和SQLite完成的。
##贡献:如果您想添加数据库系统,只需在OrderedGuidTYpe文件中添加一个生成UUID的策略,形式如上链接文章中描述的适合您的数据库系统。