Conversion of a database model from Vertabelo to Propel's schema.xml


If you are using Vertabelo to design database models, now you can convert these models from Vertabelo to Propel’s schema.xml and use it in your PHP development.

Once you create a model of your database in Vertabelo, you can use VertabeloPropel, a PHP script which converts a Vertabelo XML file into Propel’s schema.xml file. The script is available on GitHub (


VertabeloPropel uses Composer ( to manage project dependencies.

In your project directory create a file composer.json:

{ "require": { "vertabelo/vertabelo-propel": "*" } }

Then run Composer install.

composer install

This will download VertabeloPropel into the vendor directory in your project directory. The script will be in vendor/bin/vertabelo-propel.php file or, for Windows, in vendor\bin\vertabelo-propel.php.bat.

Using VertabeloPropel script

  1. Create a database model with Vertabelo at

  2. Download the model as an XML file and save it in your project directory (use an option “Export model as XML file” from Vertabelo’s tool bar).

  3. Generate Propel’s schema.xml file. If you want to use the default settings (input file model.xml, output file schema.xml, database name test, default id method native), run

in Windows


in Mac/Linux


If you want to change the defaults, run

in Windows

vendor\bin\vertabelo-propel.php.bat -i model.xml -o schema.xml / --database-name bookshop ---default-id-method native

in Mac/Linux

vendor/bin/vertabelo-propel.php -i model.xml -o schema.xml --database-name bookshop --default-id-method native

  1. The script generates Propel’s schema.xml file.

  2. Proceed with your normal Propel application development.

Script options

The script options are:

[ul][]–input-file (shortcut -i) location of Vertabelo XML file (default value “model.xml”)
]–output-file (shortcut -o) location of output Propel schema.xml file (default value “schema.xml”)
[]–database-name name of the database (default value “test”)
]–default-id-method database’s defaultIdMethod. Allowed values are “native” or “none”, default value is “native”.
[*]–help prints the help message[/ul]


I’m not really sure where this should go, but I will try here…