2017 © Pedro Peláez
 

library schemabuilder

Database Schema Builder

image

davajlama/schemabuilder

Database Schema Builder

  • Saturday, July 21, 2018
  • by davajlama
  • Repository
  • 1 Watchers
  • 0 Stars
  • 178 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 3 Open issues
  • 3 Versions
  • 46 % Grown

The README.md

SchemaBuilder

WARNING: THIS IS STILL DEVELOPMENT VERSION, (*1)

MySQL Support: - create tables - alter tables - create indexes - alter indexes, (*2)

Demo

use Davajlama\SchemaBuilder\Bridge\PDOAdapter;
use Davajlama\SchemaBuilder\Driver\MySqlDriver;
use Davajlama\SchemaBuilder\Schema;
use Davajlama\SchemaBuilder\Schema\Type;
use Davajlama\SchemaBuilder\SchemaBuilder;
use Davajlama\SchemaBuilder\SchemaCreator;

$adapter    = new PDOAdapter(PDO($dsn, $username));
$driver     = new MySqlDriver($adapter);
$builder    = new SchemaBuilder($driver);

$schema = new Schema();
$articlesTable = $schema->createTable('articles');
$articlesTable->createId();
$articlesTable->createColumn('title', Type::varcharType(255));
$articlesTable->createColumn('content', Type::textType());
$articlesTable->createColumn('created', Type::dateTimeType());
$articlesTable->createIndex()
                    ->addColumn('created');

$patches = $builder->buildSchemaPatches($schema);

// print queries
foreach($patches as $patch) {
    echo $patch->getQuery() . PHP_EOL;
}

// apply patches
$creator = new SchemaCreator($driver);
$creator->applyPatches($patches);

for more examples look at tests, (*3)

The Versions

21/07 2018

dev-master

9999999-dev

Database Schema Builder

  Sources   Download

The Development Requires

by David Bittner

13/12 2016

dev-travis-mysql

dev-travis-mysql

Database Schema Builder

  Sources   Download

The Development Requires

by David Bittner

12/12 2016

dev-dev/tests

dev-dev/tests

Database Schema Builder

  Sources   Download

by David Bittner