PHP developers who use
Propel to access their databases now can generate Propel's schema.xml file from database model created in
Vertabelo (a popular online tool for visual database design). I recommend Vertabelo because it offers free subscription for small projects and it's completely free for teachers and students.
Once you create a model of your database in Vertabelo, you can generate a Propel schema file from it. To do this you'll have to use
VertabeloPropel, a PHP script which converts a Vertabelo XML file into Propel's schema.xml file. The script is available on
GitHub.
Installing
VertabeloPropel uses
Composer to manage project dependencies.
In your project directory create a file composer.json:
Code:
{
"require": {
"vertabelo/vertabelo-propel": "*"
}
}
Then run 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.
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
Code:
vendor\bin\vertabelo-propel.php.bat
in Mac/Linux
Code:
vendor/bin/vertabelo-propel.php
If you want to change the defaults, run
in Windows
Code:
vendor\bin\vertabelo-propel.php.bat -i model.xml -o schema.xml /
--database-name bookshop ---default-id-method native
in Mac/Linux
Code:
vendor/bin/vertabelo-propel.php -i model.xml -o schema.xml --database-name bookshop --default-id-method native
4. The script generates Propel's schema.xml file.
5. Proceed with your normal Propel application development (or see
"How to develop a PHP+MySQL application with Propel and Vertabelo").
Script options
The script options are:
- --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
---------------
The above information was originaly published on
Vertabelo's blog.