Custom Object Properties
ORM framework support in ORM Designer is defined in human readable XML documents. All database model objects properties can be customized for ORM framework. Object properties can have simple values of scalar types. For example boolean values (set column as primary key or auto increment) or numbers (string length). ORM frameworks extend regular databases with advanced features: versioning, translatable tables, application cascade deletes, inheritance etc. ORM Designer contains complex object properties. You can select columns to be translated, or tables to be versioned.
Property Window
- Property window:
Properties window is used to set ORM framework specific attributes on a database model object. - Context filter: Only properties applicable on selected object are shown in property window.
- User friendly: You don't have to remember framework attributes anymore, because you get full overview of all attributes that can be set on each object.
Custom Definitions
- XML format:
ORM framework specific features are defined in a human readable XML document. Even complex changes to object behaviour in a database model can be done through these XML definitions. - User extendable: You can overwrite predefined definitions to include your ORM framework extensions (e.g. custom behaviours in Doctrine framework). These definitions are stored in a user directory.
- Smart import: ORM Designer learns new ORM framework features on import. You don't lose any definitions even if these are not predefined.
Model Objects
- Objects: Database model contains these objects: project, module/plugin, region, table, column, relation. Each of these objects has dynamic properties which can be customized for ORM framework or extended by user.
Data Types
Properties can accept values of these data types:
- Scalar types: string, boolean, float, integer.
- Object types: column, table.
- Complex types: enumeration of values, list of values, set of values, structure, list of structure, set of structure.
Extended properties of data types:
- Inheritance: in set and list data types (list of "Abstract Parent" filters values to be only child elements of a parent)
- Structures: Complex structures can be created from basic data types.
- Recursion: Recursive attributes are supported.
Values Autocompletion
When editing object properties values are filtered by allowed data type:
- Combo box types:
- Boolean - true/false
- Enumeration - list of predefined values
- Table - list of tables in a database model
- Column - list of columns of selected table
- Multiple choices types:
- list of columns (e.g. selecting translatable columns), list of tables (e.g. selecting versionable tables)
Real World Examples
- Doctrine: Doctrine table behaviours.
- Doctrine: Database specific definitions (database engine, charset etc.)
- Propel: Propel vendor properties.






