PHPackages                             sixacross/vinyl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. sixacross/vinyl

ActiveLibrary[Database &amp; ORM](/categories/database)

sixacross/vinyl
===============

A relational data mapper library

00PHP

Since Jan 25Pushed 4y ago1 watchersCompare

[ Source](https://github.com/SixAcross/Vinyl)[ Packagist](https://packagist.org/packages/sixacross/vinyl)[ RSS](/packages/sixacross-vinyl/feed)WikiDiscussions main Synced 6d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Vinyl
=====

[](#vinyl)

A relational data mapper library

Usage
-----

[](#usage)

A brief demo of how to use RecordStores (the repository/mapper) and Records (the entity/model) to CRUD data.

```
use PDO;
use Doctrine\DBAL\DriverManager;
use Doctrine\DBAL\Configuration;
use SixAcross\Vinyl\V1 as Vinyl;

$pdo = new PDO( mysql:dbname=vinyl', 'vinyl', 'some_password' );
$connection = DriverManager::getConnection( [ 'pdo' => $pdo, ], new Configuration );

// see Vinyl\V1\RecordStore for the full interface
$user_store = new Vinyl\RecordStore\SQL\PDO\Doctrine(
    'users',
    $connection->createQueryBuilder(),
    new Vinyl\RecordProducer\PDO\Statement( new Vinyl\Record\Generic )
  );

// see Vinyl\V1\Record for the full interface
$user = $user_store->insertRecord([ 'first_name' => 'June', 'last_name' => 'Roderick', ]);

$user = $user_store->getRecord( 99 );

$user['last_name'] = 'Rodriguez';

$user_store->updateRecord( $user );

$user_store->deleteRecord( $user );

```

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ab36e80678e0d56ab33428279883c28b11817cf984016a96b1d284c7ac98231?d=identicon)[nato](/maintainers/nato)

### Embed Badge

![Health badge](/badges/sixacross-vinyl/health.svg)

```
[![Health](https://phpackages.com/badges/sixacross-vinyl/health.svg)](https://phpackages.com/packages/sixacross-vinyl)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
