robclancy / schema-builder
该软件包的最新版本(dev-master)没有可用的许可证信息。
从 illuminate/database 分支出来,仅使用架构构建器。
dev-master / 1.0.x-dev
2013-04-13 03:23 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- mockery/mockery: 0.7.2
- phpunit/phpunit: 3.7.*
Suggests
- robclancy/db-connector: 1.0.x
This package is auto-updated.
Last update: 2024-09-22 04:12:48 UTC
README
这是 http://github.com/robclancy/schema-builder/blob/HEAD/illuminate/database 的一个端口,以提供没有所有额外功能的架构构建器。
这个想法是在已经使用 PDO
的数据库层的项目中使用架构构建器。
您只需要一个 PDO
实例。如果您手动创建它,可以考虑使用 http://github.com/robclancy/db-connector,它也是 http://github.com/robclancy/schema-builder/blob/HEAD/illuminate/database 的一个分支,但仅用于连接数据库。使用您的 PDO 实例,创建一个 Robbo\SchemaBuilder\Connection
实例,然后调用 ->getSchemaBuilder()
开始。然后,您可以使用 [http://four.laravel.com/docs/schema](Laravel) 文档中描述的构建器,但是用您的实例替换 Schema::
。
安装
将以下内容添加到您的 composer.json
文件的 "require" 部分
"robclancy/schema-builder": "1.0.x"
本地示例
以下示例将假设您有一个存储在 $pdo
中的 PDO
实例。
// Create the connection $connection = new Robbo\SchemaBuilder\Connection\MySqlConnection($pdo, 'database_name', 'tableprefix_'); // Alternatively you can use a factory method to create an instance depending on the driver // Drivers supported: mysql, pgsql, sqlite and sqlsrv $connection = Robbo\SchemaBuilder\Connection::create('mysql', $pdo, 'database_name', 'tableprefix_') $builder = $connection->getSchemaBuilder(); // Now you can use it like in the laravel docs... $builder->create('users', function($table) { $table->increments('id'); });
也支持使用 illuminate/database 的功能进行干燥运行。使用方法如下...
// $builder and $connection is the same from above $queries = $connection->pretend(function($connection) use ($builder) { // Could use $connection->getSchemaBuilder() here in place of $builder $builder->create('users', function($table) { $table->increments('id'); }); }); // Now $queries will contain all queries that were created