mbbender/doctrine-ordered-uuid-generator

为MySQL添加了有序UUID类型,它将CHAR(36)替换为重新排列的UUID()字符串作为BINARY 16,从而显著提高了性能。

v0.1.0 2015-05-07 12:48 UTC

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的策略,形式如上链接文章中描述的适合您的数据库系统。