Visually edit Propel definitions
Import, edit and export Propel definitions in a few clicks.
Increase speed and comfort of your work.
1.Visually edit your project model.
<?xml version="1.0"?> <database name="Ecommerce"> <table name="EcommerceOrder"> <column name="id" type="Integer" size="4" autoIncrement="true" primaryKey="true"/> <validator column="id"> <rule name="unique" message="Value must be unique"/> <rule name="required" message="Value is required"/> </validator> <column name="ecommerce_order_state_id" type="integer" size="4"/> <column name="contact_id" type="integer" size="4"/> <column name="delivery_address_id" type="integer" size="4"/> <column name="billing_address_id" type="integer" size="4"/> <column name="ordered_at" type="Timestamp"/> <column name="customer_note" type="Varchar"/> <column name="internal_note" type="Varchar"/> <unique name="IX_UQ_EcommerceOrder_billing_address_id"> <unique-column name="billing_address_id"/> </unique> <foreign-key foreignTable="EcommerceOrderState"> <reference foreign="id" local="ecommerce_order_state_id"/> </foreign-key> <foreign-key foreignTable="Contact"> <reference foreign="id" local="contact_id"/> </foreign-key> <foreign-key foreignTable="Address"> <reference foreign="id" local="delivery_address_id"/> </foreign-key> <foreign-key foreignTable="Address"> <reference foreign="id" local="billing_address_id"/> </foreign-key> <behavior name="timestampable"> <parameter name="update_column" value="created_at"/> <parameter name="create_column" value="cupdated_at"/> </behavior> </table>
propel: EcommerceOrder: id: type: Integer size: 4 autoIncrement: true primaryKey: true ecommerce_order_state_id: type: integer size: 4 foreignTable: EcommerceOrderState foreignReference: id contact_id: type: integer size: 4 foreignTable: Contact foreignReference: id delivery_address_id: type: integer size: 4 foreignTable: Address foreignReference: id billing_address_id: type: integer size: 4 foreignTable: Address foreignReference: id ordered_at: type: Timestamp customer_note: type: Varchar internal_note: type: Varchar _uniques: IX_UQ_EcommerceOrder_billing_address_id: [billing_address_id] _propel_behaviors: timestampable: update_column: created_at create_column: cupdated_at
2.Export it to complete definition files.
Download 14-day trial version
Try Skipper for free. No credit card needed.
Why use Skipper
Simple Project import
Smart import wizard allows you to import any of your Propel projects just in a few seconds. Created visual model lets you discover all objects and logic among them.
Definitions exported by one click
Export your project into Propel ORM definitions any time you need. Standardized output is completely ready-to-use, you don't need to edit or add anything.
Editing in visual interface
Create and edit all objects visually via smart dialogs and wizards. All changes in model evoke appropriate changes in exported Propel definition files.
Lower need of Propel skills
Value advisors, validators and assistants, definitions generated via standardized templates. Don't worry about Propel syntax and keywords anymore.
See all the features
Support for all Propel features
Skipper supports all available Propel formats. Import and export your projects in XML or YML (YAML).
Entities and modules
Create new or edit existing entity and change its fields and ORM properties. For better orientation in your Propel project, organize entities into colorful modules and regions.
Connect entities by one to one, one to many and many to many associations. Define owner and inverse entity or MN entity and aliases. Smart wizards will help you set up Propel associations.
Create and edit Propel inheritance via intuitive dialog simply and quickly. Choose base and derived entity, set up inheritance type and define inheritance discriminators.
With Skipper you can create indexes by a few clicks. In user-friendly visual interface define all needed indexes and choose fields indexed by them.
You can edit any of your model properties directly in visual model. Skipper offers unique Property Editor where any value can be modified.
You can customize configurations for your Propel project. Define your own datatypes, custom properties, add new behaviors or change existing properties.
Support for MVC frameworks
No matter, which MVC framework you use, whether it is Symfony, Zend or any other. Definition files generated by Skipper have support for any existing MVC framework.
It is faster and gives less errors to have Skipper create the mapping code instead of writing it myself. Later in the development process I often use the Skipper diagram as a quick reference.
Herman Peeren, Yepr
Skipper is a stable and easy to use schema designing tool! No documentation, just design and everything is documented!
Siebe Vos, Inform'aid
Simply put, for us, Skipper is not just a tool to master, but a mastermind that teaches us the best programming practices.
Can Berkol, Biber Ltd
It simplifies our work because it saves us time. With features added over time like adding behaviors to Propel in Skipper it has become an unmissable tool in our organisation.
Erwin te Bos, aXtion
It saved us a lot of time designing and configuring complex data models. It is impressive to see what this software achieves on its own.
Michael Stoye, ColorGATE
We have good use of the tool. It simplifies our daily work, saves us time and is simple and intuitive to use.
Thomas Somoen, Try/Apt
We use Skipper on our daily basis for ecommerce software development. It lets us visualize at a glance the data models and work on them in a simple and easy way.
Dario Schilman, IDS Soluciones Ecommerce
Skipper is especially helpful in the initial data modeling phase. Exporting the data model and scaffolding makes it really easy to get a first prototype up and running in a matter of minutes.
Jörn Wagner, Explicatis
More user stories
Detailed list of supported Propel ORM features
Skipper model properties
|Project||name, storage path, description|
|Module||name, description, external plugin storage, export path and format|
|Field||name, type, size, required, unique, primary key, auto increment, default value, enum values, description|
|Association||owner/inverse entity, reference fields, owner/inverse alias, association type (one-to-one, one-to-many), parent requirement, description|
|Many to Many||mn entity, owner/inverse entity, reference fields, owner/inverse alias, description|
|Inheritance||base/derived entity, inheritance type, discriminator value/field, description|
|Index||name, unique, indexed fields, description|
Propel model properties
|Module||name, namespace, defaultIdMethod(native,none), package, baseClass, basePeer, defaultPhpNamingMethod (nochange, underscore, phpname), heavyIndexing|
|Entity||Behaviors, Vendors (type, parameters), isI18N, i18nTable, idMethod(native, none), phpName, skipSql, abstract, phpNamingMethod, baseClass, basePeer, heavyIndexing, readOnly, treeMode(NestedSet, MaterializedPath), reloadOnInsert, reloadOnUpdate, allowPkInsert, package|
|Field||Validators, primaryString, isCulture, index, onDelete , phpName, peerName, phpType, sqlType, scale, phpNamingMethod, inheritance, inputValidator, defaultExpr, defaultValue, lazyLoad, scale|
|Association||onDelete, onUpdate, phpName, refPhpName|
Propel behaviors support
Propel validators support
Propel datatypes support
Propel associations support
- Propel One to one (one-to-one)
- Propel One to many (one-to-many)
- Propel Many to one (many-to-one)
- Propel Many to many (many-to-many)