creonit / propel-schema-converter-bundle
Installs: 9 341
Dependents: 8
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 0
README
Allows use YAML to describe schema
Installation
###1. Install the bundle with composer:
composer require creonit/propel-schema-converter-bundle
###2. Registers the bundle in your app/AppKernel.php:
... public function registerBundles() { $bundles = array( ... new Creonit\PropelSchemaConverterBundle\CreonitPropelSchemaConverterBundle(), ... ); ...
Usage
Create a file BundleDir/Resources/config/schema.yml
and run the command to build the model or migration. File schema.xml will be created automatically.
Example schema.yml
config: required: true database: +: name: default namespace: AppBundle\Model package: src.AppBundle.Model defaultIdMethod: native +behavior: - auto_add_pk table: +: {allowPkInsert: true} id: {type: INTEGER, size: 10, primaryKey: true, autoIncrement: true} column: varchar(64) column2: int column3: text key(8) column4: tinyint uniq column5: bool = 1 column6: - datetime +unique: - column(32) +index: [column2] +behavior: - timestampable - sortable: {use_scope: true, scope_column: column2} table2: id: int(10) ~pk table_id: int column: text = Default value column2: int +foreign-key: - table: {local: table_id, foreign: id} +behavior: - timestampable - sortable: column2 table3: table_id: int pk > table.id table2_id: int pk > table2.id(restrict cascade)