vukanac / mysql-workbench-doctrine-plugin Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/mysql-workbench-doctrine-plugin
License: GNU Lesser General Public License v3.0
Automatically exported from code.google.com/p/mysql-workbench-doctrine-plugin
License: GNU Lesser General Public License v3.0
When exporting to file or to clipboard I get errors with 0.3.6
Also with the lastest version,rev 15, from trunk I get these errors. So
here my findings with rev15:
------------
to file:
Error executing plugin wb.catalog.util.exportYamlSchemaToFile0.3.6: Error
callig lua function DoctrineExport0.3.6.exportYamlSchemaToFile: '...
Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:388: bad argument #1 to
'lower' (string expected, got nil)
stack traceback:
[C]: in function 'lower'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:388: in function
'wbSimpleType2DoctrineDatatype'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:722: in function
'buildYamlForSingleColumn'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:869: in function
'buildYamlForSingleTable'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:709: in function
'generateYamlSchema'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:990: in function
<... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:987>
----------------------------
to clipboard:
Error executing plugin wb.catalog.util.exportYamlSchemaToClipboard0.3.6:
Error callig lua function DoctrineExport0.3.6.exportYamlSchemaToClipboard:
'... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:388: bad argument
#1 to 'lower' (string expected, got nil)
stack traceback:
[C]: in function 'lower'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:388: in function
'wbSimpleType2DoctrineDatatype'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:722: in function
'buildYamlForSingleColumn'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:869: in function
'buildYamlForSingleTable'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:709: in function
'generateYamlSchema'
... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:977: in function
<... Data\MySQL\Workbench\modules\DoctrineExport.grt.lua:974>
----------------------------
What version of the product are you using? On what operating system?
XP SP3 32bit.
Original issue reported on code.google.com by [email protected]
on 5 Sep 2009 at 1:31
Should we implement validation for models?
You can read about that here:
http://groups.google.com/group/mysql-workbench-doctrine-plugin/browse_thread/thr
ead/841a9cc299db10b
Original issue reported on code.google.com by [email protected]
on 3 May 2010 at 8:59
What steps will reproduce the problem?
1. Create a couple 1-to-many tables / relationships
2. Don't use any table comments, just vanilla Workbench functionality.
3.
What is the expected output? What do you see instead?
Expected the 'foreignAlias' text to reflect the 'local' table, in
pluralized form as-needed. What was output was the pluralized (if needed)
version of the foreignClass variable.
What version of the product are you using? On what operating system?
Workbench 5.1.18
Linux
Script: SVN r102
Please provide any additional information below.
I think the below change fixes this problem (it does for me) - I use
camelcase for the relations, so I also made a small change to how the
relation name was built to match my needs, you can ignore if my thinking is
wrong there, but the substring was missing the last underscore on the
column name.
Index: DoctrineExport.grt.lua
===================================================================
@@ -746,6 +746,8 @@
local localAlias
local refClass
+ local localClass = buildEntityName(tbl)
+
for k = 1, grtV.getn(tbl.foreignKeys) do
foreignKey = tbl.foreignKeys[k]
foreignClass = buildEntityName(foreignKey.referencedTable)
@@ -756,11 +758,12 @@
if( relName == nil or relName == "" and #foreignKey.columns >
0 ) then
relName = foreignKey.columns[1].name
if (string.endswith(relName, "_id")) then
- relName = string.sub(relName, 1, #relName - 2)
+ relName = string.sub(relName, 1, #relName - 3)
end
end
end
+ relName = underscoresToCamelCase(foreignClass)
relations = relations .. " " .. relName .. ":\n"
relations = relations .. " class: " .. foreignClass .. "\n"
relations = relations .. " local: " ..
foreignKey.columns[1].name .. "\n"
@@ -781,12 +784,12 @@
if ( foreignAlias == nil or foreignAlias == "" ) then
if ( foreignKey.many == 1 ) then
if ( config.preventTableRenaming ) then
- foreignAlias = config.preventTableRenamingPrefix ..
pluralizeTableName(foreignClass)
+ foreignAlias = config.preventTableRenamingPrefix ..
pluralizeTableName(localClass)
else
- foreignAlias = pluralizeTableName(foreignClass)
+ foreignAlias = pluralizeTableName(localClass)
end
elseif ( foreignKey.many == 0 ) then
- foreignAlias = foreignClass
+ foreignAlias = localClass
else
foreignAlias = "FK " .. foreignKey.name .. " is broken! It
has no destination cardinality (many is not 0 and not 1)."
end
Original issue reported on code.google.com by [email protected]
on 5 Apr 2010 at 5:29
is it possible to implement another format for doctrine yml schema?
i am using the compact format, like:
DetailName:
tableName: detail_name
inheritance:
extends: myBaseClass
type: concrete
columns:
id: { type: integer(1), primary: true, unsigned: true, notnull: true, autoincrement: true }
detail_id: { type: integer(1), unsigned: true, notnull: true }
name: { type: string(255), unique: true, notnull: true }
relations:
Detail: { class: Detail, local: detail_id, foreign: id, foreignAlias: Details }
patch is included.
Original issue reported on code.google.com by [email protected]
on 13 Jan 2010 at 3:25
Attachments:
What steps will reproduce the problem?
1. Create two tables
2. Add localalias tag in foreign key comment
What is the expected output? What do you see instead?
Yaml should include "alias" tag or relation name should be the local alias
Alias:
etc..
or
Entity:
alias: alias
What version of the product are you using? On what operating system?
Trunk windows xp
Please provide any additional information below.
I believe the thought process was to have local alias become the relation
name, the interduction of useReferencenamesAsRelationnames caused the
initial seeting of
relName = getCommentToken(foreignKey.comment, "localAlias")
to become explicitly overwriten by the:
else
relName = underscoresToCamelCase(foreignClass)
end
whether using the useReferencenamesAsRelationnames or not.
SOLUTION:
change:
relName = getCommentToken(foreignKey.comment, "localAlias")
if( relName == nil or relName == "" ) then
to (sets the localAlias for use later)
localAlias = getCommentToken(foreignKey.comment, "localAlias")
if( localAlias == nil or localAlias == "" ) then
add: (Checks to see if localalias is set and if so adds to relation)
if (localAlias ~= nil and localAlias ~= "") then
relations = relations .. " alias: " .. localAlias .. "\n"
end
after:
relations = relations .. " local: " .. foreignKey.columns[1].name .. "\n"
change:
-- use the name of the reference as relation name
if ( config.useReferencenamesAsRelationnames ) then
relName = foreignKey.name
if ( config.enableRenameUnderscoresToCamelcase ) then
relName = underscoresToCamelCase(relName)
end
if ( config.enableRecapitalizeTableNames == "first" ) then
relName = ucfirst(relName)
end
-- else use the name of the foreign class as relation name
else
relName = underscoresToCamelCase(foreignClass)
end
to (if localalias is set and useReferencenamesAsRelationnames isn't then it
will add the localalias as the relationname)
-- use the name of the reference as relation name
if ( config.useReferencenamesAsRelationnames ) then
relName = foreignKey.name
if ( config.enableRenameUnderscoresToCamelcase ) then
relName = underscoresToCamelCase(relName)
end
if ( config.enableRecapitalizeTableNames == "first" ) then
relName = ucfirst(relName)
end
-- else use the name of the foreign class as relation name
elseif (localAlias ~= nil and localAlias ~= "") then
relName = localAlias
else
relName = underscoresToCamelCase(foreignClass)
end
Original issue reported on code.google.com by [email protected]
on 21 May 2010 at 8:58
What steps will reproduce the problem?
1.Create one-to-one relationship between two tables
What is the expected output? What do you see instead?
In schema.yml, add "foreignType: one" in relations
Example :
Profile:
actAs:
Timestampable:
columns:
id:
type: integer(4)
primary: true
notnull: true
autoincrement: true
lastname:
type: string(65)
firstname:
type: string(45)
sf_guard_user_id:
type: integer(4)
notnull: true
relations:
sfGuardUser:
class: sfGuardUser
local: sf_guard_user_id
foreign: id
foreignType: one
foreignAlias: Profile
indexes:
fk_profil_sf_guard_user:
fields: [sf_guard_user_id]
What version of the product are you using? On what operating system?
I'm using Workbench 5.2.21RC, MySQL 5.1, Symfony 1.4
This line is very important to generate right model definition.
In my example, in BasesfGuardUser.setUp(), the generated line is now :
$this->hasOne('Profile', array(
'local' => 'id',
'foreign' => 'sf_guard_user_id'));
To do that in your plugIn, I suggest You to add this line in
relationBuilding method, just after " elseif ( foreignKey.many == 0 ) then"
relations = relations .. " foreignType: one\n"
Thanks for this very helpful plugin !!
Bye
Etienne
Original issue reported on code.google.com by [email protected]
on 19 May 2010 at 2:10
Attachments:
i'm using the latest svn-version of this plugin with MySQL Workbench
5.2.10.
the generating schema.yml have a bug.
at the top of the file:
options:
collation: utf8_general_ci
charset: utf8
type: MyISAM
must be:
options:
collate: utf8_general_ci
charset: utf8
type: MyISAM
here the docs:
http://www.doctrine-project.org/documentation/manual/1_2/en/defining-
models#table-options
Original issue reported on code.google.com by [email protected]
on 18 Dec 2009 at 10:10
What steps will reproduce the problem?
1. Add unique index on two or more columns
Edit table->Indexes->Create new index of type UNIQUE->select two or more
columns for him.
2. Export schema to clipboard
In YAML file it should produce clausule about one in index of type UNIQUE
in INDEX clausule:
<code yaml>
indexes:
name_index:
fields:
first_name:
sorting: ASC
length: 10
primary: true
last_name: []
type: unique
</code>
Instead of it in yaml, there is UNIQUE index on each column separately:
<code yaml>
id_application:
type: integer
unique: true
unsigned: true
notnull: true
id_application_category:
type: integer
unique: true
unsigned: true
notnull: true
</code>
I've tried that on Windows Vista Home Premium(32 bit), Workbench 5.0.30 OSS
with mysql-workbench-doctrine-plugin in the latest version( i hope ). I
don't know where to find version of mysql-workbench-doctrine-plugin
Please provide any additional information below.
Documentation of Indexes of Doctrine scheme files
http://www.doctrine-project.org/documentation/manual/1_0/en/yaml-schema-
files#features-examples:indexes
Original issue reported on code.google.com by [email protected]
on 6 Jul 2009 at 8:13
What steps will reproduce the problem?
1. I use Doctrine Export 0.3.9 : Write Generated Schema to File.
2. An error message appeared.
What is the expected output? What do you see instead?
No file is generated.
What version of the product are you using? On what operating system?
0.3.9
Please provide any additional information below.
11:50:25 | Error executing plugin
wb.catalog.util.exportYamlSchemaToFile0.3.9: Error callig lua function
DoctrineExport0.3.9.exportYamlSchemaToFile:
'...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:383: attempt to
concatenate local 'typeName' (a nil value)
stack traceback:
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:383: in function
'wbSimpleType2DoctrineDatatype'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:729: in function
'buildYamlForSingleColumn'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:878: in function
'buildYamlForSingleTable'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:716: in function
'generateYamlSchema'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:999: in function
<...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:996>
'
Original issue reported on code.google.com by [email protected]
on 22 Oct 2009 at 9:54
I found a tricky bug.
I have a table with 4 columns :
-id
-label
-iso_code
-idh
idh is in hdi (human developpement indice) in french
Strangly, it generate the following code :
country:
columns:
id:
type: integer
primary: true
notnull: true
autoincrement: true
label:
type: string(128)
iso_3166_1:
type: string(128)
id:
type: float
options:
type: InnoDB
Constat : 2 fields id instead of one id and one idh
Result : my table had not idh column and id was a DOUBLE instead of a INT.
Can you please have a look also at this ?
Thanks a lot
Sebastien
Original issue reported on code.google.com by [email protected]
on 19 Aug 2009 at 3:12
Due to an expected bug in Workbench 5.1.x Karsten made a bug report. For
more information see:
http://bugs.mysql.com/bug.php?id=45579
Original issue reported on code.google.com by [email protected]
on 23 Jun 2009 at 5:46
It is planned to suport View tables? if not, please add to wishlist.
Original issue reported on code.google.com by [email protected]
on 12 Jan 2010 at 8:19
Benefits
1. Allow for choice of naming conventions
Example a relationship between Members and Contacts where each member can
have multiple contacts. Currently the relations are retrieved:
$member->Contacts
$contacts->Members
if you use camelCase coding standards then you need to add a foreignalias
and localAlias to each relationship to acheive this:
$member->contacts
$contacts->members
if it were two words it would be $member->oneTwo
REQUIREMENTS:
1. Should only transform the alias if one is not provided through the
comment block
IMPLEMENTATION
add function:
-- converts first character of given string to lowercase
function lcfirst(s)
-- only lowercase the very first char, leave all others untouched
return string.lower(string.sub(s, 0, 1)) .. string.sub(s, 2, #s)
end
change:
relName = underscoresToCamelCase(foreignClass)
to
relName = lcfirst(underscoresToCamelCase(foreignClass))
change:
if ( foreignAlias == nil or foreignAlias == "" ) then
if ( foreignKey.many == 1 ) then
if ( config.preventTableRenaming ) then
-- foreignAlias = config.preventTableRenamingPrefix ..
pluralizeTableName(foreignClass)
foreignAlias = config.preventTableRenamingPrefix ..
pluralizeTableName(localClass)
else
-- foreignAlias = pluralizeTableName(foreignClass)
foreignAlias = pluralizeTableName(localClass)
end
elseif ( foreignKey.many == 0 ) then
-- foreignAlias = foreignClass
foreignAlias = localClass
else
foreignAlias = "FK " .. foreignKey.name .. " is broken! It
has no destination cardinality (many is not 0 and not 1)."
end
end
to (only updates the ones not using table prefix and that are generated
from localClass)
if ( foreignAlias == nil or foreignAlias == "" ) then
if ( foreignKey.many == 1 ) then
if ( config.preventTableRenaming ) then
-- foreignAlias = config.preventTableRenamingPrefix ..
pluralizeTableName(foreignClass)
foreignAlias = config.preventTableRenamingPrefix ..
pluralizeTableName(localClass)
else
-- foreignAlias = pluralizeTableName(foreignClass)
foreignAlias = lcfirst(pluralizeTableName(localClass))
end
elseif ( foreignKey.many == 0 ) then
-- foreignAlias = foreignClass
foreignAlias = lcfirst(localClass)
else
foreignAlias = "FK " .. foreignKey.name .. " is broken! It
has no destination cardinality (many is not 0 and not 1)."
end
end
Original issue reported on code.google.com by [email protected]
on 21 May 2010 at 9:22
What steps will reproduce the problem?
1. Create Table TestingDescription
2. Add a single column
3. Export to clipboard
What is the expected output? What do you see instead?
I would expect to see the tableName setting, it is missing. Same issue with
tables that have the keyword Data. ie. TestingData
What version of the product are you using? On what operating system?
Trunk
Please provide any additional information below.
Results in tables being created as testing_description and testing_data
Original issue reported on code.google.com by [email protected]
on 27 Apr 2010 at 3:19
What is the best way to contact the developers here? Is there a mailing
list setup? I feel bad about creating an issue, but I can't find another
method of contacting this group.
Specifically, I'd like to get involved with development of some small
tweaks, which could extend the plugin (not necessarily core modifications,
but configurable modifications). Is there an easy way to reload the plugin
without having to restart Workbench everytime?
Thanks!
-Dave
Original issue reported on code.google.com by [email protected]
on 4 Apr 2010 at 3:06
What steps will reproduce the problem?
1. wb 5.2.21
2. last release of plugin
3. export schema
What is the expected output? What do you see instead?
The pop-up selection file
What version of the product are you using? On what operating system?
wb 5.2.21 - ubuntu 10.04
Please provide any additional information below.
When export to file, wb view only a popup withouy error.
Original issue reported on code.google.com by [email protected]
on 1 Jun 2010 at 1:57
Attachments:
I have a problem to export...
What steps will reproduce the problem?
1. Plugins -> Catalog -> Doctrine export 0.3: Copy generated doctrine
schema to clipboard
2. Paste (any editor)
3. Error!!!
The clipboard content
-------------------------------------------
ⴭഭ敤整瑣牟汥瑡潩獮›牴敵漊瑰潩獮ഺ†潣汬瑡潩��
�ഠ†档牡敳㩴氠瑡湩റ†祴数›湉潮
䉄ഊ潪敢瑥潊㩢 琠扡敬慎敭›潪敢瑥機扯 挠汯��
�獮ഺ††摩ഺ†††祴数›湩൴†††牰浩
牡㩹琠畲†††潮湴汵㩬琠畲†††畡潴湩牣浥湥��
�琠畲††慣整潧祲楟㩤 ††琠灹㩥
椠瑮 ††渠瑯畮汬›牴敵 †琠灹㩥 ††琠灹㩥��
�牴湩⡧㔲⤵ ††渠瑯畮汬›牴敵 †挠浯
慰祮ഺ†††祴数›瑳楲杮㈨㔵ഩ†††潮湴汵㩬琠畲��
�††潬潧ഺ†††祴数›瑳楲杮㈨㔵ഩ†††
潮湴汵㩬琠畲††牵㩬 ††琠灹㩥猠牴湩⡧㔲⤵��
�††渠瑯畮汬›牴敵 †瀠獯瑩潩㩮 ††
琠灹㩥猠牴湩⡧㔲⤵ ††渠瑯畮汬›牴敵 †氠捯瑡��
�㩮 ††琠灹㩥猠牴湩⡧㔲⤵ ††渠瑯
畮汬›牴敵 †搠獥牣灩楴湯ഺ†††祴数›汣扯 ��
�†渠瑯畮汬›牴敵 †栠睯瑟彯灡汰㩹
††琠灹㩥挠潬ൢ†††潮湴汵㩬琠畲††潴敫㩮��
�††琠灹㩥猠牴湩⡧㔲⤵ ††甠楮畱㩥琠畲
†††潮湴汵㩬琠畲††獩灟扵楬㩣 ††琠灹��
�戠潯敬湡 ††渠瑯畮汬›牴敵 ††搠晥
畡瑬›റ††獩癟污摩ഺ†††祴数›潢汯慥൮††��
�潮湴汵㩬琠畲†††敤慦汵㩴〠 †攠慭汩
ഺ†††祴数›瑳楲杮㈨㔵ഩ†††潮湴汵㩬琠畲��
�†硥楰敲彳瑡ഺ†††祴数›楴敭瑳浡൰†††
潮湴汵㩬琠畲††牣慥整彤瑡ഺ†††祴数›楴敭瑳��
�൰†††潮湴汵㩬琠畲††灵慤整彤瑡
ഺ†††祴数›楴敭瑳浡൰†††潮湴汵㩬琠畲†��
�慬楴湯㩳 †樠扯敥䍴瑡来牯㩹 ††氠捯
污›慣整潧祲楟†††潦敲杩㩮椠†††潦敲杩䅮��
�獡›潪敢瑥潊獢 椠摮硥獥ഺ††武機
扯敥彴潪形潪敢瑥损瑡来牯㩹 ††映敩摬㩳嬠慣整潧祲��
�嵤 漠瑰潩獮ഺ††祴数›湉潮
䉄ഊ潪敢瑥慃整潧祲ഺ†慴汢乥浡㩥樠扯敥彴慣整潧��
� 挠汯浵獮ഺ††摩ഺ†††祴数›
湩൴†††牰浩牡㩹琠畲†††潮湴汵㩬琠畲†��
�†畡潴湩牣浥湥㩴琠畲††慮敭ഺ†††祴
数›瑳楲杮㈨㔵ഩ†††潮湴汵㩬琠畲†灯楴湯㩳��
�†琠灹㩥䤠湮䑯ൂ樊扯敥䍴瑡来牯䅹
晦汩慩整ഺ†慴汢乥浡㩥樠扯敥彴慣整潧祲慟晦汩慩整��
�挠汯浵獮ഺ††慣整潧祲楟㩤
††琠灹㩥椠瑮 ††瀠楲慭祲›牴敵 ††渠瑯畮汬��
�牴敵 †愠晦汩瑡彥摩ഺ†††祴数›湩
൴†††牰浩牡㩹琠畲†††潮湴汵㩬琠畲†敲��
�楴湯㩳 †樠扯敥䍴瑡来牯㩹 ††氠捯
污›慣整潧祲楟†††潦敲杩㩮椠†††潦敲杩䅮��
�獡›潪敢瑥慃整潧祲晁楦楬瑡獥 †樠
扯敢䅴晦汩瑡㩥 ††氠捯污›晡楦慬整楟†††潦��
�杩㩮椠†††潦敲杩䅮楬獡›潪敢瑥
慃整潧祲晁楦楬瑡獥 椠摮硥獥ഺ††武機扯敥彴慣整��
�祲桟獡機扯敢彴晡楦慬整機扯
敥彴慣整潧祲ഺ†††楦汥獤›捛瑡来牯役摩൝††武��
�扯敥彴慣整潧祲桟獡機扯敢彴晡楦
慬整機扯敢彴晡楦慬整ഺ†††楦汥獤›慛晦汩瑡彥摩൝��
�樊扯敢䅴晦汩瑡㩥 琠扡敬慎
敭›潪扢瑥慟晦汩瑡†潣畬湭㩳 †椠㩤 ††琠��
�㩥椠瑮 ††瀠楲慭祲›牴敵 ††渠瑯
畮汬›牴敵 ††愠瑵楯据敲敭瑮›牴敵 †甠汲ഺ��
�††祴数›瑳楲杮㈨㔵ഩ†††潮湴汵㩬琠
畲††浥楡㩬 ††琠灹㩥猠牴湩⡧㔲⤵ ††甠��
�畱㩥琠畲†††潮湴汵㩬琠畲††潴敫㩮
††琠灹㩥猠牴湩⡧㔲⤵ ††渠瑯畮汬›牴敵 ��
�椠彳捡楴敶ഺ†††祴数›潢汯慥൮†††潮湴
汵㩬琠畲†††敤慦汵㩴〠 漠瑰潩獮ഺ††祴数��
�湉潮䉄ഊ
------------------------------
What is the expected output? What do you see instead?
---
detect_relations: true
options:
collation:
charset: latin1
type: InnoDB
jobeetJob:
tableName: jobeet_job
columns:
id:
type: int
primary: true
notnull: true
autoincrement: true
category_id:
type: int
notnull: true
type:
type: string(255)
notnull: true
company:
type: string(255)
notnull: true
logo:
type: string(255)
notnull: true
url:
type: string(255)
notnull: true
position:
type: string(255)
notnull: true
location:
type: string(255)
notnull: true
description:
type: clob
notnull: true
how_to_apply:
type: clob
notnull: true
token:
type: string(255)
unique: true
notnull: true
is_public:
type: boolean
notnull: true
default: 1
is_valid:
type: boolean
notnull: true
default: 0
email:
type: string(255)
notnull: true
expires_at:
type: timestamp
notnull: true
created_at:
type: timestamp
notnull: true
updated_at:
type: timestamp
notnull: true
relations:
jobeetCategory:
local: category_id
foreign: id
foreignAlias: jobeetJobs
indexes:
fk_jobeet_job_jobeet_category:
fields: [category_id]
options:
type: InnoDB
jobeetCategory:
tableName: jobeet_category
columns:
id:
type: int
primary: true
notnull: true
autoincrement: true
name:
type: string(255)
notnull: true
options:
type: InnoDB
jobeetCategoryAffiliate:
tableName: jobeet_category_affiliate
columns:
category_id:
type: int
primary: true
notnull: true
affilate_id:
type: int
primary: true
notnull: true
relations:
jobeetCategory:
local: category_id
foreign: id
foreignAlias: jobeetCategoryAffiliates
jobbetAffilate:
local: affilate_id
foreign: id
foreignAlias: jobeetCategoryAffiliates
indexes:
fk_jobeet_category_has_jobbet_affilate_jobeet_category:
fields: [category_id]
fk_jobeet_category_has_jobbet_affilate_jobbet_affilate:
fields: [affilate_id]
jobbetAffilate:
tableName: jobbet_affilate
columns:
id:
type: int
primary: true
notnull: true
autoincrement: true
url:
type: string(255)
notnull: true
email:
type: string(255)
unique: true
notnull: true
token:
type: string(255)
notnull: true
is_active:
type: boolean
notnull: true
default: 0
options:
type: InnoDB
What version of the product are you using? On what operating system?
MySQL Workbench 5.1.12 beta OSS - Windows XP
Please provide any additional information below.
I attach the original file .mwb
Thanks!
Original issue reported on code.google.com by [email protected]
on 9 Jun 2009 at 10:51
Attachments:
In 0.4.1, 'User Types' get written as
unsupported simpleType XX
in the yaml file. This renders the file unusable.
I suggest the following changes/enhancements:
1. convert 'User Types' to the corresponding mysql type, and then to
Doctrine types;
2. take one of the absolutely weird mysql types for declaring 'custom
Doctrine Types' as 'User Types' - I'm surely not the only one having
patched Doctrine 1.2 for custom types.
Example:
userType1 = TINYINT
userType2 = MULTIPOLYGON (defined as 'special' type)
column w/ userType1 -> TINYINT -> integer(1)
column w/ userType2 -> userType2 -> userType2
Original issue reported on code.google.com by [email protected]
on 4 Feb 2010 at 2:15
Until now it is only possible to create a complete yaml config for the
database model in workbench.
It would be really nice if it would be possible to feed the plugin with an
existing yaml-config, and let the plugin create an updated yaml-config
based on changes in the database model.
Original issue reported on code.google.com by [email protected]
on 5 Sep 2009 at 1:35
Hi Johannes,
First thanks for this great contribution to the doctrine community. I'll
definitely contribute if I get some opportunity.
I was wondering if there was any way of adding custom actAs (timestampable,
sluggable, GoogleI18n...) for a table using WB ?
Thanks,
Antoine
Original issue reported on code.google.com by [email protected]
on 11 Nov 2009 at 1:40
What steps will reproduce the problem?
1. Define a table in MySQL Workbench with a field declared as type YEAR
2. Export YAML
yearTable:
tableName: year_table
columns:
year_table_id:
type: integer(4)
primary: true
notnull: true
autoincrement: true
year_field:
type: year
options:
type: MyISAM
3. Doctrine::generateModelsFromYaml('schema.yml', 'models');
4. Doctrine::createTablesFromModels('models');
What is the expected output? What do you see instead?
PHP Fatal error: Uncaught exception 'Doctrine_Export_Exception' with
message 'While exporting model class 'yearTable' to SQL: Around field
year_field: Unknown field type 'year'.' in
C:\wamp\www\lib\Doctrine\Export.php:1263
What version of the product are you using? On what operating system?
0.3.6 on Windows 2K
Please provide any additional information below.
The easy fix is to use a SMALLINT datatype instead of YEAR and add
validation later. However, since the plugin is doing some translation of
datatypes anyway, I thought you might want to think about making a
substitution for YEAR.
Whatever you decide, thanks for publishing your script.
Original issue reported on code.google.com by [email protected]
on 23 Aug 2009 at 7:09
I am using this project with a symfony application that has a
sfDoctrineGuardPlugin installed. The plugin itself defines additional
tables and I needed to have additional relations between my tables (in mdb
file) and plugin tables (not present in mdb).
I modified the source file to allow for defining additional (external)
relations in table comments. These relations are simply appended to all
detected ones without any validation.
Example definition:
{doctrine:externalRelations}
Users:
class: sfGuardUser
local: project_id
foreign: user_id
refClass: UserProject
{/doctrine:externalRelations}
I attach the diff file with my modifications.
Original issue reported on code.google.com by kkotowicz
on 29 Mar 2010 at 1:50
Attachments:
What steps will reproduce the problem?
1. create a table called my_idea
2. add an id and a column called idea_summary
3. export
What is the expected output? What do you see instead?
EXPECTED:
myIdea:
tableName: my_idea
columns:
id:
type: integer(4)
primary: true
notnull: true
autoincrement: true
idea_summary:
type: string(45)
OBTAINED:
myIdea:
tableName: my_idea
columns:
id:
type: integer(4)
primary: true
notnull: true
autoincrement: true
id_summary:
type: string(45)
What version of the product are you using? On what operating system?
0.36 win and Ubuntu
Please provide any additional information below.
uncommenting the function gives expected result, I don' speak much of LUA,
but it seam to me that the regexp is a bit too lax
-- rename idtable to id
-- rename table_idtable to table_id
function renameIdColumns(s)
-- s = string.gsub(s, "(id%w+)", function(v)
-- return "id"
-- end)
return s
end
Original issue reported on code.google.com by [email protected]
on 17 Sep 2009 at 7:05
Further to my first idea about user types:
1. the 'native' table includes many default user types, which now can be
cleared;
2. there are default user types that should prevail: BOOL
3. add support for fixed-length fields
Generally: Consolidate all *type* definitions into one place.
Original issue reported on code.google.com by [email protected]
on 12 Feb 2010 at 3:50
Attachments:
What steps will reproduce the problem?
1. Create a table that has a FK reference to a second table
2. Export YML
3. Review aliased name on local table
What is the expected output? What do you see instead?
I expected to see the column name, camelcased to reflect the custom name of
the FK
What version of the product are you using? On what operating system?
Trunk
Please provide any additional information below.
See http://code.google.com/p/mysql-workbench-doctrine-
plugin/source/browse/trunk/DoctrineExport.grt.lua#754 For context.
In line 766 the relation alias that was built in the preceding code is
ignored, and 'foreignClass' is used instead. Would recommend replacing
line 766 with
relName = ucfirst(underscoresToCamelCase(relName))
Original issue reported on code.google.com by [email protected]
on 26 Apr 2010 at 8:28
To fix it I changed the line
296 to :
doctrineType = "integer"
admin generator doesn't match relation when a field is configured as 'int'
in the schema it should be 'integer'
Original issue reported on code.google.com by [email protected]
on 25 Jun 2009 at 2:07
I am using plugin version 0.4.1.
Newer version of Symfony support additional options for tables like:
symfony:
form: false
filter: false
which will disable form and filter classes generation for current model.
Plugin currently doesn't provide something to add this. I added the
fallowing code for this in buildYamlForSingleTable function:
[code]
local commentOpts = "";
if ( tbl.comment ~= nil and tbl.comment ~= "" ) then
...
commentOpts = getInfoFromTableComment(tbl.comment, "options")
end
... -- and at the end of the function:
if ( commentOpts ~= "" and commentOpts ~= nil ) then
options = options .. commentOpts .. "\n"
end
if ( options ~= "" ) then
yaml = yaml .. " options:\n" .. options
end
[/code]
Code of the whole function is attached.
Original issue reported on code.google.com by [email protected]
on 3 Jun 2010 at 2:41
Attachments:
What steps will reproduce the problem?
1. Install mysql-workbench-oss-5.1.8-alpha.app.zip, latest alpha for OSX.
2. Go to Tools->Install plugin/Module file
3. The installation goes right and asks for restart.
4. Can't start Workbench again, crashes until the plugin file copied
$HOME/Library/Application Support/Mysql/Workbench/modules/ is removed.
What is the expected output? What do you see instead?
Can't see anything, it crashes Workbench.
What version of the product are you using? On what operating system?
MySQL-Workbench-Doctrine-Plugin-0.1.9.zip
Mac OSX 10.5.6
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 19 Mar 2009 at 1:49
I am developing a web application use doctrine, can I get the ER diagram
from the yaml file, or use some way to see it.
Thanks
Original issue reported on code.google.com by [email protected]
on 20 Jan 2010 at 11:04
Hello,
I am French, excuse me for my English.
Why do you use a complex algorithm to "pluralize" words ?
Moreover, it's not the same logic in all languages.
I think it would be better if you add a prefix like "col_tablename" for
collection.
Dorian
Original issue reported on code.google.com by [email protected]
on 9 Nov 2009 at 1:24
As of the current version, there is a 'mixup' between table names and
entity names; the latter being created by the plugin.
I suggest allowing the user to 'override' the entity name.
There already is an information framework available: getInfoFromTableComment
The attached patch allows:
{doctrine:entityName}
MySuperDuperEntityName
{/doctrine:entityName}
Original issue reported on code.google.com by [email protected]
on 12 Feb 2010 at 3:43
Attachments:
What steps will reproduce the problem?
1. Create Table1 with 1 col id
2. Create Table2 with 2 col id and tableId1
3. Create a one to one relationship between the tables
4. Export
What is the expected output? What do you see instead?
I would expect the output to have type: one in the relations block but it
is omitted which results in a one to many relationship and doctrine returns
an array of records instead of an array of values
What version of the product are you using? On what operating system?
trunk
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 27 Apr 2010 at 3:23
Further down the road to my patch allowing custom entity names, I add
a) patch to allow doctrine:localAlias and doctrine:foreignAlias within an
fk comment field. Attention: Current beta workbenchs have a bug, whereas fk
comments may not be edited everywhere! table editing -> foreign keys tab ->
comment field works fine.
b) patch to allow m:n definitions within a table comment:
{doctrine:mnRelations}
localAlias=>ref_table=>foreign_table=>foreignAlias
{/doctrine:mnRelations}
The attached patches depend on each other.
HP
Original issue reported on code.google.com by [email protected]
on 15 Feb 2010 at 10:14
Attachments:
I found that integer -> INT(11) should be declared as type:integer(4) in
shema.yml so that doctrine:build-all-reload really considers it as integer.
Otherwise it creates BIGINT(20) and can broke foreign keys...
As a digest, it you could generate integer(4) instead of just "integer" it
can save a lot of time for some poor developpers ;)
Thanks again for your plugin
Sebastien
Original issue reported on code.google.com by [email protected]
on 19 Aug 2009 at 3:05
What steps will reproduce the problem?
1. create a table with meidumtext data type
2. export to doctrine
3. try to load
What is the expected output? What do you see instead?
medium text shoul be converted to clob(16777215) for doctrine load.
I've got a "Unknown field type 'mediumtext'" message instead.
I find&replace in yml file to fix this but if it could fixed directly in
plugin i will save a lot of tume
What version of the product are you using? On what operating system?
0.3.4 On Ubuntu
Please provide any additional information below.
none
Thanks for your plugin & to take care of this request
Sébastien
Original issue reported on code.google.com by [email protected]
on 27 Jul 2009 at 10:17
If you have a model like sale, wich is linked to a company model for :
supplier and customer roles, you'll have problem with the relation naming :
Sale:
relations:
Company:
local: supplier_id
Company:
local: customer_id
Same table linked, with two roles...
I didnt some chance to get that :
Sale:
relations:
customer:
class: Company
supplier:
class: Company
Original issue reported on code.google.com by [email protected]
on 23 Oct 2009 at 11:52
Attachments:
What steps will reproduce the problem?
1. I use Doctrine Export 0.3.9 : Write Generated Schema to File.
2. An error message appeared.
What is the expected output? What do you see instead?
No file is generated.
What version of the product are you using? On what operating system?
0.3.9
Please provide any additional information below.
11:50:25 | Error executing plugin
wb.catalog.util.exportYamlSchemaToFile0.3.9: Error callig lua function
DoctrineExport0.3.9.exportYamlSchemaToFile:
'...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:383: attempt to
concatenate local 'typeName' (a nil value)
stack traceback:
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:383: in function
'wbSimpleType2DoctrineDatatype'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:729: in function
'buildYamlForSingleColumn'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:878: in function
'buildYamlForSingleTable'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:716: in function
'generateYamlSchema'
...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:999: in function
<...aming\MySQL\Workbench\modules\DoctrineExport.grt.lua:996>
'
Original issue reported on code.google.com by [email protected]
on 22 Oct 2009 at 9:54
i'm using the latest version of this plugin: MySQL-Workbench-Doctrine-
Plugin-0.4.0 with MySQL Workbench 5.2.10.
decimal fieldtype with precision and scale doesnt work with Doctrine!
original:
price:
type: decimal(6,2)
notnull: true
must_be:
price:
type: decimal(6)
scale: 2
notnull: true
here: http://www.doctrine-project.org/documentation/manual/1_2/en/defining-
models:columns:data-types:decimal
this type must have scale-tag.
Original issue reported on code.google.com by [email protected]
on 16 Dec 2009 at 9:54
On line 928 you have:
if ( buildTableName(tbl.name) ~= tbl.name and getCrossDatabaseJoinsFlag()
~= "on" ) then
yaml = yaml .. " tableName: " .. tbl.name .. "\n"
end
If "tableName:" isn't in the YAML, Doctrine::generateModelsFromYaml will
"tableize" the class name (Doctrine/Import/Schema.php, line 351, ver 1.2):
$tableName = Doctrine_Inflector::tableize($className);
Which means it will convert 'TableName' to 'table_name' and set something
like this in the models: $this->setTableName('table_name'); causing SQL
errors.
...btw, nice work on this plugin! What a time saver.
Original issue reported on code.google.com by [email protected]
on 7 Feb 2010 at 3:51
Defining a boolean column on mysql-workbench provokes a plugin error (cf.
attachements).
Looks like boolean is not supported by the plugin even it's supported by
Doctrine.
Any hints ?
Regards.
Jérôme
Original issue reported on code.google.com by [email protected]
on 7 May 2010 at 3:18
Attachments:
What steps will reproduce the problem?
1.import the attached workbench project
2.generate schema file
3.build database, for instance MembersAddress has relationship but
membersauth doesn't most relationship fail
What is the expected output? What do you see instead?
Relationships would be as defined in the workbench err
What version of the product are you using? On what operating system?
TRUNK
Please provide any additional information below.
The workaround I used to solve this issue is adding
relations = relations .. " owningSide: true\n"
on line 832
I know at one point this was working correctly but I am not sure if its a
design issue/naming issue on my part or something missing in the declarations.
My trancing leads me to doctrines Relation/Parser.php 209 it seems even
localkey index's are being classified as foreignkeys. I think it is
probably an issue I'm introuducing but haven't figured it out.
Since we generate only on the owning side adding the owningSide identifier
seems to have resolved it
Original issue reported on code.google.com by [email protected]
on 3 May 2010 at 6:39
Attachments:
I don't know if it's relevant, but when we define m2m relationship in workbench
the generated
doctrine yaml is :
pplFrame:
columns: // whatever
pplPositionFrame:
columns:
ppl_shape_id:
type: integer(4)
primary: true
ppl_frame_id:
type: integer(4)
primary: true
relations:
pplShape:
class: pplShape
local: ppl_shape_id
foreign: id
foreignAlias: ppl_position_frames
pplFrame:
class: pplFrame
local: ppl_frame_id
foreign: id
foreignAlias: ppl_position_frames
pplShape:
columns: // whatever
AND according to doctrine documentation, should be :
pplFrame:
columns: // whatever
relations:
pplShapes:
class: pplShape
local: ppl_frame_id
foreign: ppl_shape_id
refClass: pplPositionFrame
pplPositionFrame:
columns:
ppl_shape_id:
type: integer
primary: true
ppl_frame_id:
type: integer
primary: true
pplShape:
columns: // whatever
relations:
pplFrames:
class: pplFrame
local: ppl_shape_id
foreign: ppl_frame_id
refClass: pplPositionFrame
I'm doing tests to check if using schema the plugin do change how doctrine use
it… Any
comment welcome
Original issue reported on code.google.com by [email protected]
on 24 Nov 2009 at 7:00
I am using 0.4.2dev of the MW-doctrine plugin, and I am running into an issue.
I have a simple m:n table relation (protocol, question, protocol_question
tables). In the protocol table comments, I have the following mnRelations
code:
{doctrine:mnRelations}
Protocol=>protocol_question=>question=>Question
{/doctrine:mnRelations}
... And the following mnRelation is generated for the protocol table:
relations:
Protocol:
class: Question
refClass: ProtocolQuestion
foreignAlias: Question
This works, but in the generated form for protocol, I get a list of
questions with the label 'protocol list'. If I change the yml above to the
following:
relations:
Question:
class: Question
refClass: ProtocolQuestion
foreignAlias: Protocol
It works. I am fairly new to Doctrine, but used this page as a reference
to modify the generated YML:
http://www.orm-designer.com/article/how-to-create-mn-relation-in-doctrine-orm
Thanks!
Original issue reported on code.google.com by scott%[email protected]
on 13 May 2010 at 5:43
1. Install the plugin in ~/.mysql/workbench/modules
2. Open an existing model / diagram.
3. Export schema to file.
I'm using MySQL Workbench 5.1.12
If I load workbench from a terminal, when I export to file I get this:
** Message: item_activated: 0x8d04c50 ->
'plugin:wb.catalog.util.exportYamlSchemaToFile0.3'
glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: request_input_becb not implemented
aborting...
Aborted
Original issue reported on code.google.com by [email protected]
on 17 Jun 2009 at 3:39
What steps will reproduce the problem?
1. Create table like 'operational_status'
2.
3.
What is the expected output? What do you see instead?
Expected OperationalStatus to be output, but instead received
OperationalStatu
What version of the product are you using? On what operating system?
script: 0.4.0
Workbench: 5.1.18a
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 2 Apr 2010 at 8:47
Hi -
I have been able to generate a many-to-many, self referencing relationship
using MySQL
Workbench, with the following table structures:
protocol (id:integer autoincrement, name:string)
protocol_protocol (id:integer autoincrement, main_protocol_id:FK to protocol,
related_protocol_id:FK to protocol)
In the protocol table comments, I added the following:
{doctrine:mnRelations}
RelatedProtocols=>protocol_protocol=>protocol=>Protocols
{/doctrine:mnRelations}
This is fine - except for one thing. There is an error in generating the YAML,
because the 'local'
and 'foreign' keywords are not set for the 'RelatedProtocols' relation in the
Protocols table.
I would expect that your plugin can detect the name of the FK column, and place
in the following
into the 'RelatedProtocols' relation:
local: main_protocol_id
foreign: related_protocol_id
especially if the column names are different than the default (in self
referencing tables where
there are more than one FK to the same table, then Doctrine cannot use the
default 'protocol_id')
Does this make sense?
Original issue reported on code.google.com by scott%[email protected]
on 20 May 2010 at 5:43
What steps will reproduce the problem?
1. Create a fixed CHAR column
2. Export
3. Duplicate entries for fixed ie:
validateCode:
type: string(10)
fixed: true
notnull: true
fixed: true
What is the expected output? What do you see instead?
A single fixed property
What version of the product are you using? On what operating system?
trunk / win xp
Please provide any additional information below.
Was not occuring before the last fix to my knowledge as I am comparing the
previous trunk export with this one
Original issue reported on code.google.com by [email protected]
on 29 Apr 2010 at 2:46
What steps will reproduce the problem?
1. Create schema with lots of tables
2. Export schema to YAML
3.
What is the expected output? What do you see instead?
Would like the output sorted alphabetically for easy finding / diffing a
subset of the schema against the full schema
What version of the product are you using? On what operating system?
Script: 0.4.0
Workbench: 5.1.18a
Please provide any additional information below.
Here is the code I added in the 'generateYamlSchema' function around line
792 or so:
local t = {}
for j = 1, grtV.getn(schema.tables) do
tbl = schema.tables[j]
table.insert(t, {key=tbl.name, value=tbl})
end
table.sort(t, function(a,b) return a.key < b.key; end);
for idx, row in ipairs(t) do
--
-- do not export *_translation tables
if ( string.endswith(row.key, "_translation") == false ) then
yaml = buildYamlForSingleTable(row.value, schema, yaml)
end
end
Original issue reported on code.google.com by [email protected]
on 2 Apr 2010 at 8:54
My MySQL Workbench schema has table with names like:
Customer
CustomerAddress
CustomerPhone
CustomerEmail
So, your plugin is generating the output with names:
Customer
Customeraddress
Customerphone
Customeremail
And it's wrong, because the right is like above (first example).
So, I made changes on your file and I'm sharing to world (to see if it's
really a bug).
Thank you,
Francisco Ernesto Teixeira
http://netinho.info/
MSN: [email protected] - Skype: netinhoteixeira
Get the most simple and powerful MySQL manager at
http://www.heidisql.com/
Original issue reported on code.google.com by [email protected]
on 25 Feb 2009 at 7:20
Attachments:
the plugin should not export *_18n tables but must use actAs :
country:
actAs:
I18n:
fields: [name]
columns:
id_country:
type: integer
primary: true
notnull: true
autoincrement: true
name:
type: string(45)
notnull: true
actif:
type: boolean
notnull: true
Hope that help
Original issue reported on code.google.com by [email protected]
on 1 Jul 2009 at 9:51
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.