This is a Yii shell command to help generate model classes with relations descriptions.
If you use MySQL workbench for your database design, and have all the relationships defined on the diagram, this will help you to translated them into Yii model classes. So you can always maintain your database schema and relationships in the visual way, and not worry about create or update relations in model class files.
And it's a batch process, which read all the tables from the database connection, and parse the mwb file for corresponding relationships and create the model class file instantly.
It doesn't require innodb, so long as you've got relation on the ERD, it should work for you, and it can tell 1:1,1:M and M:M relationships.
We have developed it under the framework purely because it's not project specific and should be available to any newly created projects.
At Yii shell,
> mwbmodel [mwb-file]
This command generates model classes with relationships parsed from MySQL workbench mwb file. * mwb-file: required, mwb file.
R2404 Minor Bug Fix Release
Fixed file path with backslash problem on windows platform
R2402 Bug fix release, tested with 1.0.2
Works better with composite keys (PK with more than one field)
R2393 Initial beta release.
Total 9 comments
now also yii itself can automatically generates model files with relations already defined in the model class based on the db table
Thanks so much!!!
I just placed the extracted file in 'extensions' and configured my yiic like this:
'commandMap'=>array( 'mwbmodel'=>array( 'class'=>'application.extensions.mwbModelCommand_R2464.commands.shell.mwbModelCommand', 'templateFile'=>'/path/to/website/protected/extensions/mwbModelCommand_R2464/views/shell/model/model_relations.php', ), // other commands ), 'components'=>array( 'db'=>array( 'connectionString'=>'mysql:host=localhost;dbname=phtest1', 'username' => 'root', 'password' => 'pass'', ), ),The problem is that every time i execute this cli command (for example 'cause i have a new model class file) the script reread every model in my mysql workbench file and ok it tells me if i want to overwrite an existing model class file but what if i want the cli command to update only my relationships in my model class file without overwrting all my custom code in it?
Hi there,
Would like to say thanks for this extension. Would really love to see this extension able to translate mysql workbench views.
Keep up the good work
This is what I have been looking for. Thanks!
I been waiting for something like that, this help me very much.
This should be very useful for large systems with many related tables. It is also a good example of yiic command implementation. Thanks!
Looks great!
Thanks for your work, I will try it soon
Leave a comment
Please login to leave your comment.