The smartest way to Doctrine definitions
Use powerful visual editor to import, edit and export Doctrine definitions.
Work faster and avoid all mistypes or errors.



1. Visually edit your project model.
EcommerceOrder:
actAs:
Priceable:
vat:
disabled: true
Timestampable:
created:
alias: created_at
type: timestamp
format: Y-m-d H:i:s
updated:
alias: updated_at
type: timestamp
Restable:
tableName: ecommerce_order
options:
charset: utf8
collate: utf8_unicode_ci
columns:
id:
primary: true
type: integer(4)
notnull: true
autoincrement: true
unsigned: true
ecommerce_order_state_id:
type: integer(4)
contact_id:
type: integer(4)
delivery_address_id:
type: integer(4)
billing_address_id:
unique: true
type: integer(4)
ordered_at:
type: timestamp
past: true
date: true
customer_note:
type: string
internal_note:
type: string
relations:
EcommerceOrderState:
onDelete: CASCADE
local: ecommerce_order_state_id
foreign: id
Contact:
local: contact_id
foreign: id
DeliveryAddress:
class: Address
local: delivery_address_id
foreign: id
BillingAddress:
class: Address
local: billing_address_id
foreign: id2. 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 Doctrine 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 Doctrine 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 Doctrine definition files.
Lower need of Doctrine skills
Value advisors, validators and assistants, definitions generated via standardized templates. Don't worry about Doctrine syntax and keywords anymore.
See all the features
Support for all Doctrine features
Supported formats
Skipper supports Doctrine native YAML format. Definitions are exported in standardized format compliant with Doctrine coding conventions.
Entities and modules
Create new or edit existing entity and change its fields and ORM properties. For better orientation in your Doctrine project, organize entities into colorful modules and regions.
Associations
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 create Doctrine associations in no time.
Inheritance
Create and edit Doctrine inheritance via intuitive dialog simply and quickly. Choose base and derived entity, set up inheritance type and define inheritance discriminators.
Indexes
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.
ORM Properties
You can edit any of your model properties directly in visual model. Skipper offers unique Property Editor where any value can be modified.
Customization
You can customize configurations for your Doctrine 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.
See all the features
Over 5,000 companies use Skipper every day
“

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
”
“

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
”
Detailed list of supported Doctrine ORM features
Skipper model properties
| Object | Property |
|---|---|
| Project | name, storage path, description |
| Module | name, namespace, description, external plugin storage, export path and format |
| Entity | name, namespace, description |
| 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 |
Doctrine ORM model properties
| Object | Property |
|---|---|
| Project | - |
| Module | actAs (behaviors), options (charset, collate, type), connection, detect_relations, entity_prefix |
| Entity | actAs (behaviors), tableName, attributes (export), options (charset, collate, type) |
| Field | scale, email, notblank, nospace, past, future, minlength, country, ip, htmlcolor, range, regexp, creditcard, date, readonly, unsigned, usstate, fixed, collation |
| Association | onDelete, onUpdate, orderBy, side-owning(type, cascade), side-inverse (type, cascade) |
| Many to Many | onDelete, onUpdate |
| Inheritance | - |
| Index | type, index-field (sorting, length) |
Doctrine ORM datatypes support
boolean
integer
float
decimal
string
array
object
blob
clob
timestamp
date
time
enum
gzip
Doctrine ORM inheritance support
Simple
Concrete
Column Aggregation
Doctrine ORM associations support
Doctrine One to one (one-to-one)
Doctrine One to many (one-to-many)
Doctrine Many to one (many-to-one)
Doctrine Many to many (many-to-many)
Doctrine ORM model import / export formats
YAML (YML) definitions
Doctrine ORM behaviors support
Versionable
Timestampable
Sluggable
I18n
NestedSet
Searchable
Geographical
Taggable
SoftDelete
EventLoggable
GoogleI18n
Sortable
Blameable