josiah / doctrine-schema-builder
Provides a declarative interface for building a Doctrine DBAL Schema.
Installs: 1 177
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- doctrine/dbal: ~2.1
Requires (Dev)
- phpunit/phpunit: ~3.7
This package is not auto-updated.
Last update: 2024-11-04 15:25:13 UTC
README
Provides a declarative wrapper around the Doctrine DBAL Schema
class which allows you to define the schema as you would like it to be rather than in terms of what it was.
Example
Actions speak louder than words so here's an example of the builder in action:
use Doctrine\DBAL\Schema\Builder; use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Table; $schema = new Schema(); $builder = new Builder($schema); $builder // Create table if it doesn't exist, do nothing if it does ->createTable('foo', function (Table $table) { $table->addColumn('id', 'integer') ->setNotNull(true) ->setUnsigned(true) ->setAutoIncrement(true) ->setComment("Unique Identifier, DUH!"); $table->addColumn('name', 'string') ->setNotNull(true); $table->setPrimaryKey(['id']); // ... you get the picture. }) // Overwrite table if it exists, create it if it doesnt ->defineTable('bar', function (Table $table) { // ... more definition like before }) // Drop table if it exists, do nothing if it doesnt ->dropTable('baz');
License
Licenced under an MIT license. If that doesn't work for you get in touch with me.