davajlama / schemabuilder
Database Schema Builder
Installs: 13 305
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 1
Open Issues: 4
Requires (Dev)
- phpunit/phpunit: 5.5.*
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-09-19 01:20:58 UTC
README
WARNING: THIS IS STILL DEVELOPMENT VERSION
MySQL Support:
- create tables
- alter tables
- create indexes
- alter indexes
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