We've finished with our draft data model and have started our git project. Normally we use CVS however git gives us some flexibility CVS and SVN cannot match.
Our new data model is - for now - one database with 65 tables. Quite a far cry from our
existing structure.
We've placed our cake svn checkout (we'd rather use git and import the cake svn into that however the way cake uses svn makes this troublesome at best) in our standard 3rd party location and each developer will have a git checkout in their public_html directory. We have also symlinked each developers public_html into the document root (the dev server has nothing in it's default document root except these new directories) so we don't have to worry about mod_rewrites RewriteBase. This means each developer can use domain/user/checkout to view their checkout rather then domain/~user/checkout. This avoids expantion of ~ which is the reason for the RewriteBase when using mod_rewrite.
When rsync'ed into production the webroot directory will be the new document root and the core cake libs will be in their proper location (separated even from our own cake project files).
Some interesting points I've found out while doing test-scaffolding:
- Review the default validation option bake suggests. Sometimes this will show you errors in your model (e.g. name field and bake suggests numeric for validation, foreign key field [foo_id] and bake suggests no validation, etc.).
- Even if you aren't sure what your params will be for validation, select one that's close and give yourself the placeholder for validation later.
- Remember the use of the fields when selecting validation - for example: vanityNumber may have letters in it so don't select "phone" as the validation scheme.
- Follow closely the relationships suggested by bake. When you find one missing, stop and check your data model. After you fix the error, start building that model again.
Now, we still aren't writing any code. It's been a week and we are doing only test model building using bake and data model changes.