Hi, good idea, I'd like to suggest a tool I have found a great instrument for both design and reverse engineering, it is called MySQL Workbench and all one needs is to feed it the script to generate the diagrams, and if needed manipulate them and then forward engineer the SQL again.
After that, the diffing should be fairly straight forward
Yes, please! Would love to learn from your work - and it will give people a chance to work you. It'll be nice to have a 1.6 diagram, too. Very helpful!
BTW, I was thinking about putting foreign keys since the engine is MyISAM and it wouldn't affect (as far as I know since MyISAM lacks referential integrity) the behavior of Joomla and it would help Doctrine discover and generate the relationships.
Only thing is that I didn't find all fks to be obvious.
My OCD thinks this could be improved (that nosy bastard):
- Not all PKs are called id even though most are, e.g. messages.message_id, banner.bid, bannerclient.cid
- Not all tables have the PK in the first place, e.g. newsfeeds
- Some "FKs" are abbreviated, some are not, e.g. access_rules.section_id is nice, while banner.cid is not
- I "think" not all data types are optimized (though most are), e.g. components.enabled is TINYINT(4)
- There is a sections table?
- And last but not least, no db level referential integrity (even though MyISAM just supports the notation and not the behaviors that could be nice enough... and perhaps future support for InnoDB?, it has side benefits! [such as nulls actually not using storage space])
I know all this last thing is not the objective but didn't want to overlook it, I mean, the OCD =)
You might want to post this, on list, and ask Andrew what he thinks. Those looks like good cleanup questions - and good to ask before the migration. He is aware of this thread - but asking on list is best. Not certain how far they'll want to go with that, given the coding implications. I have database OCD, too. :-P