firevel / model-random-id
Laravel 的模型随机 ID 生成器。
0.0.3
2022-05-20 18:41 UTC
This package is auto-updated.
Last update: 2024-09-13 23:11:05 UTC
README
此包自动生成符合 MySQL BIGINT
列和 JavaScript MAX_SAFE_INTEGER
的加密随机整数作为主键 ID。
目的
使用分布式数据库如 Cloud Spanner 或 Firestore 的系统不应使用增量 ID 以避免瓶颈。可以使用 UUID 作为替代,但长字符串可能会导致性能和用户体验问题。随机 BIGINT 是增量 ID 和 UUID 之间的折衷方案。
安装
确保您的模型 ID 是 BIGINT 类型,例如:$table->bigInteger('id')->unsigned()->primary();
。
将以下代码添加到您的模型特质中 use \Firevel\ModelRandomId\HasRandomId;
。
/**
* Primary key incrementing.
*
* @var bool
*/
public $incrementing = false;