PHPackages                             ooxif/laravel-spec-schema - 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. ooxif/laravel-spec-schema

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

ooxif/laravel-spec-schema
=========================

Extends Laravel's Schema/Grammar/Blueprint to describe drivers' specific features

1.0.4(9y ago)17.5k2[1 PRs](https://github.com/ooxif/laravel-spec-schema/pulls)MITPHPPHP &gt;=5.4.0

Since Jun 2Pushed 8y ago1 watchersCompare

[ Source](https://github.com/ooxif/laravel-spec-schema)[ Packagist](https://packagist.org/packages/ooxif/laravel-spec-schema)[ RSS](/packages/ooxif-laravel-spec-schema/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

laravel-spec-schema
===================

[](#laravel-spec-schema)

Extends Laravel's Schema/Grammar/Blueprint to describe drivers' specific features.

Install
-------

[](#install)

`composer require "ooxif/laravel-spec-schema:1.0.*"`

then

- add `'Ooxif\LaravelSpecSchema\SpecSchemaServiceProvider',` to `providers` in `config/app.php`.
- replace `'Schema' => 'Illuminate\Support\Facades\Schema',` to `'Schema' => 'Ooxif\LaravelSpecSchema\Facades\Schema',` in `aliases` of `config/app.php`.

Examples
--------

[](#examples)

```
use Ooxif\LaravelSpecSchema\Blueprint;

Schema::create('table_name', function (Blueprint $table) {
    // Blueprint extends Illuminate\Database\Schema\Blueprint.

    // add a BINARY column if the driver is MySQL,
    // otherwise falls back to default binary().
    $table->myBinary('column_name', 8);

    // VARBINARY/TINYBLOB/MEDIUMBLOB/LONGBLOB also falls back to default binary().
    $table->myVarBinary('column_name', 16);
    $table->myTinyBlob('column_name');
    $table->myMediumBlob('column_name');
    $table->myLongBlob('column_name');

    // TINYTEXT falls back to default text().
    $table->myTinyText('column_name');

    // add `collate`
    $table->string('column_name')->collate('utf8_bin');
});
```

Use your own Schema Builder/Grammar/Blueprint classes
-----------------------------------------------------

[](#use-your-own-schema-buildergrammarblueprint-classes)

```
class MyMySqlBuilder extends Ooxif\LaravelSpecSchema\MySql\Builder
                  // extends Illuminate\Database\Schema\MySqlBuilder
{
    // your code here.
}

class MyMySqlGrammar extends Ooxif\LaravelSpecSchema\MySql\Grammar
                  // extends Illuminate\Database\Schema\Grammars\MySqlGrammar
{
    // your code here.
}

class MyBlueprint extends Ooxif\LaravelSpecSchema\Blueprint
               // extends Illuminate\Database\Schema\Blueprint
{
    // your code here.
}

// setBuilderClass(string $driverName, string $className)
Schema::setBuilderClass('mysql', 'MyMySqlBuilder');

// setGrammarClass(string $driverName, string $className)
Schema::setGrammarClass('mysql', 'MyMySqlGrammar');

// setBlueprintClass(string $className)
Schema::setBlueprintClass('MyBlueprint');

Schema::create('table_name', function ($table) {
    $table instanceof MyBlueprint; // true

    $table->getBuilder() instanceof MyMySqlBuilder; // true

    $table->getBuilder()->getGrammer() instanceof MyMySqlGrammar; // true
});
```

###  Health Score

32

↑

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 84.6% of commits — single point of failure

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.

###  Release Activity

Cadence

Every ~95 days

Total

5

Last Release

3624d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/84bb01b4d64a4d280e691c97775b56f71f1c5a04ccb17971a1a7cb2fba0cd53e?d=identicon)[ooxif](/maintainers/ooxif)

---

Top Contributors

[![ooxif](https://avatars.githubusercontent.com/u/2757640?v=4)](https://github.com/ooxif "ooxif (11 commits)")[![furey](https://avatars.githubusercontent.com/u/1914481?v=4)](https://github.com/furey "furey (2 commits)")

---

Tags

laravelschemadatabasemysqleloquent

### Embed Badge

![Health badge](/badges/ooxif-laravel-spec-schema/health.svg)

```
[![Health](https://phpackages.com/badges/ooxif-laravel-spec-schema/health.svg)](https://phpackages.com/packages/ooxif-laravel-spec-schema)
```

###  Alternatives

[devio/eavquent

EAV modeling package for Eloquent and Laravel.

6410.4k](/packages/devio-eavquent)[toponepercent/baum

Baum is an implementation of the Nested Set pattern for Eloquent models.

3154.7k](/packages/toponepercent-baum)[zara-4/laravel-lazy-mysql

A lazy mysql based Eloquent model and Query builder for Laravel

127.9k](/packages/zara-4-laravel-lazy-mysql)

PHPackages © 2026

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