You are at the right place \o/
You should look at this other repo https://github.com/mazenovi/PropelUtilityDev
Please PR only on this PropelUtilityDev repo
- PropelUtility can create and export to xml format a Propel schema from an existant MySQLWorkbench shcema (*.mwb file)
- PropelUtility can manage all Propel's schema elements unsupported by MySQLWorkbench
- PropelUtility is delivered as Python MySQLWorkbench plugin. in this it can be installed on Windows, Linux and Mac OS Platform
- PropelUtility has been tested on linux, windows and mac os systems
- PropelUtility can't manage any schema's data which is manageable with MySQLWorkbench
- PropelUtility can't convert Propel schema to YAML format (use symfony propel:schema-to-yml instead)
via the command line
git clone git://github.com/mazenovi/PropelUtility.git
or unzip the downloaded archive downloaded " from PropelUtility's github page
- open MySQLWorkbench
- go to
"Scripting" -> "Install Plugin / Module ..."
browse to the filepropel_utility_grt.py
you just gited or unziped, select it - restart MySQLWorkbench
PropelUtility add two new entries to MySQLWorkbench in "Plugins" -> "Catalog"
:
"Propel Utility"
"Propel Erase All Data"
Any changes on the Propel data with Propel Utility will be validated after a click on the "OK" Button.
If "CANCEL" is clicked, changes will be lost.
To definitely save the Propel data, you should remember to save the .mwb file
There are 3 type fields:
- the non-editable fields : they are for information only, MySQLworkbench can edit them but not PropelUtility
- the editable fields : on click on those fields make them editable and you can change their value with a keyboard input
- the editable fields with choices list : on click on those fields make them editable and you can change their value with a keyboard input, and a double click will show a list with all possible choices. Just select an item and click the "select this value" button N.B. it seems that the choices are unavailable on linux.
- Database can manage attributes for
<database />
xml tag - Tables can manage attributes for
<table />
xml tag - Columns can manage attributes for
<column />
xml tag - Foreign Keys can manage attributes for
<foreign-key />
xml tag - Indices show only attributes for
<index />
et<unique/>
xml tags - Behaviors can manage Behaviors for each table (
<behavior />
xml tag) and all associated parameters (<parameter />
xml tag) - Eternal Schemas can manage attributes for
<external-schema />
xml tag - Export can export data managed with previous tab with this rule: required attributes are always exported, and optional attributes will be exported only if associated value is different from defaut value.
in Behaviors tab you can browse to a Python file called PropelExtraBehavior.py to add extra behaviors : User-Contributed Behaviors or your own.
Your PropelExtraBehavior.py file should look as
from PropelObject import *
__all__ = ["PropelExtraBehavior"]
VERSION = "1.0.0"
class PropelExtraBehavior(PropelObject):
behaviors = {
'awesomable':(),
'true_inheritance':('extends',)
}
where dict's keys are behavior's name and dict's items are behavior's parameters
This entry can erase all Propel data managed by PropelUtility and only this data (MySQLWorkbench data will not be affected)