migration from propel to doctrine
- http://www.symfony-project.org/blog/2008/06/16/getting-started-with-doctrine-and-symfony-1-1
- http://trac.symfony-project.com/wiki/ComparingPropelAndDoctrine
- http://trac.symfony-project.com/wiki/sfDoctrinePlugin
- http://trac.symfony-project.com/ticket/1728
doctrine
- easier and more flexible joins
- inheritance
clarify:
- symfony plugins with separate schemata -> can they reference each other (this is not possible in propel)
- works!
- addAsTaggable plugin/behaviour?
- check parallel installation of propel and doctrine
- no known way to do this
- extendable schemata? e.g. MyCompany can extened their "users" table with some custom columns.
- 2 possible ways:
- overriding the plugins schema by putting a schema in config/doctrine/ and using the same class name
- using inheritance. example: the plugin prepares a "ParentMyTable" class with common columns. A "MyTable" class extends "ParentMyTable". a schema in config/doctrine/ can now define additional columns.
ideas:
- use "entities" instead of users and group
- inherit clases from a base class providing
- creator_user_id, created_at, updator_user_id, updated_at
- possibly a flag/namespace to differenciate between "system" rows and "custom" rows:
e.g. groups: there may be some system groups (like "admin") and later on custom groups like "Trouble Ticket Dispatcher"
or to package ullFlow Apps as Plugins - use users, groups and permissions (like in sfGuardPlugin) ? (ok, this is not doctrine related ;-)
questions:
- somehow added columns to a table didn't show up in the database when doing 'doctrine:build-all'. had to manually delete the model files: (try only deleting generated model files)
php symfony cc;php symfony doctrine:drop-db --force frontend;rm -rf plugins/ullCorePlugin/lib/model/doctrine/;rm -rf lib/model/doctrine/;php symfony doctrine:build-all frontend
migration:
todo:
- rename all columns containing "ull_user_id" to "user_id"
- rename all columns containing "ull_group_id" to "group_id"
- remove 'id' from ull_user_group
- fixtures.yml: add namespace "ullCore" to rows in EntityGroup
workpackages for migration
- ullCore, everything except tableTool
- ullCore Tabletool
- ullWiki
- ullFlow
- sfTaggable Plugin?
log:
- ullThemeDefault: update group membership check
- ullThemeDefault: changed headerLogin into a component