davajlama/schemabuilder

此软件包的最新版本(2.0.0)没有可用的许可证信息。

数据库模式构建器

2.0.0 2020-12-04 22:00 UTC

README

警告:这仍然是一个开发版本

MySQL 支持

  • 创建表
  • 修改表
  • 创建索引
  • 修改索引

演示

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);

更多示例请查看测试