boyhagemann/storage

此包最新版本(dev-master)的许可证信息不可用。

dev-master 2017-04-07 14:42 UTC

This package is not auto-updated.

Last update: 2024-09-15 03:18:55 UTC


README

这是一个不可变数据存储系统的原型。数据永远不会被修改。数据和数据模式的所有更改都将进行版本控制。

此包可用于任何API框架。

测试

运行vendor/bin/phpunit来运行所有测试。

快速开始

  1. 设置实体和记录
    $pdo = new PDO( ... );
    $entity = new MysqlEntity($pdo);
    $record = new MysqlRecord($pdo);
  1. 创建一个新的实体

  2. 插入一个记录

驱动程序

默认情况下,它附带一个Mysql驱动程序。但你可以创建自己的驱动程序,只要它遵循接口即可。驱动程序必须有一个扩展AbstractTest.php的测试文件。

实体和记录

该包分为两个概念

  1. 实体
  2. 记录

实体

实体反映了MySQL中的一个表。它包含数据的结构。一个实体有许多定义结构的字段。这是在实体或字段发生变化时会发生的事情

  • 如果实体发生变化,则实体的版本号增加1。
  • 如果字段发生变化,则字段及其实体的版本号增加1。

记录

记录反映了MySQL中的一个表行。每个记录都有一个唯一的_id并包含实际数据。一个记录有许多组成数据的。这是在记录发生变化时会发生的事情

  • 如果记录的更改与上一个版本不同,则记录的版本号增加1。
  • 如果提供的与该值的上一个版本不同,则该值的版本号增加1。