Pork.Generator is a webbased tool to inspect your databases and generate Pork.dbObject based code. It analyzes the relations in your database, by trying to match primary keys to fields of other tables. If you have created your table structure following some simple rules, this project can either create a complete CRUD (Create, Read, Update, Delete) interface into a .zip file, or just output your complete database schema into O/R mapped objects.
Pork.dbObject is an Object-Relation mapper for PHP 5 that attempts to be easy, fast, lightweight, uses optimized database queries and provides an easy Find() function very loosely based on rails'.
Here are some key features of "Pork Generator":
· Inspect the relations and properties of tables in your database in an MDI interface
· Generate a complete CRUD web-interface of your database
· CRUD interface has the ability to visually create connections between any defined relations
· Generate just classes with relations mapped between them for the tables found in your database
· Generate just the class you're inspecting right now
· Visualize the relations between tables in your database via GraphViz
· Semi-intelligent entity object naming (if you have an ID_Image object in your Images table the object will be named Image)
· Create custom mappings for fields in tables to internal object mapping
· Set database-wide generation options (create only constructor, create editor, display and displayShort functions)
· Interface generation is completely customizable. You can include your own stuff and work in your own favorite way!
· Includes custom PHP formgenerator, MooTools 1.2 beta, Mocha UI, FCKEditor, MooCalendar
· Built for FireFox. IE is known to look *nasty* and not currently actively supported
· PHP5, Apache, MySQL
· Graphviz for graphical display of the relations between tables
· For now relations in Pork.dbObject are based solely on the case sensitivie naming of properties with a PRI flag in MySQL.
· tableA.ID_This + tableB.ID_This = relation
· There is no analysation of any MySQL-defined relations or foreign keys, and relations in the form of tableA.ID + tableB.tableaID are not supported. This will be added in future versions of Pork.dbObject and the generator.
· The code behind the VirtualObject and ClassGenerator in the analyzer needs major rewriting to allow for more simple plugins, but it just works, and has done so for the last 2 years, so I decided to release it.
What's New in This Release:
· The relations and properties of tables in a database can be inspected in an MDI interface.
· A complete CRUD Web interface of the database is generated.
· The interface has the ability to visually create connections between any defined relations.
· The relations between tables in a database can be visualized via GraphViz.
· Semi-intelligent entity object naming is implemented.
· Custom mappings are created for fields in tables to internal object mapping.