Skip to content

Analyze and navigate a databases' structure using a simple fluent api

License

Notifications You must be signed in to change notification settings

Shadetheartist/schema-info

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

shadetheartist/schema-info

A utility class intended to help interface with a databases' schema information in an efficient manner.

Setting Up

Firstly add the schema-info dependency to your projects composer file

composer.json

"require": {
    ...,
    "shadetheartist/schema-info": "1.5.3"
}

In your terminal run composer dump-autoload.


Secondly add the SchemaInfo service provider and facade to your projects' bootstrapping procedure via

config/app.php

'providers' => [
    ...,
    SchemaInfo\SchemaInfoServiceProvider::class,
]

And you're set!

Examples

General Usage

Creating a New Schema Instance

<?php namespace App;

use SchemaInfo\Facades\SchemaInfo;

class Example
{
    public function example()
    {
        $schema = SchemaInfo::make();
    }
   
    public function exampleAltConnection()
    {
    	//connect to a different database. note: only mysql databases are currently supported.
        $schema = SchemaInfo::make(\DB::connection('my-alternative-connection'));
    }
}

Table Usage

$table = $schema->table('my_table_name');

//returns a stdClass instance refecting a record from the schema info of your database.
$info = $table->info();

Retrieving a Column

$table = $schema->table('my_table_name');

$column = $table->column('my_column_name');

$allColumns = $table->columns();

Column Usage

$column = $table->column('my_column_name');

//returns a stdClass instance refecting a record from the schema info of your database.
$column->info();

//get the table the column belongs to.
$parentTable = $column->table();

About

Analyze and navigate a databases' structure using a simple fluent api

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages