I’m learning Expression Engine right now and I’ve been reading about the ability to keep much of the configuration in the config.php file. This allows it to be version controlled and makes it easier to work in teams as well as making deployments easier.
I’m wondering what all I can keep in code. Is it possible to define my custom fields and channels here? I know I can export my templates to files.
It’s not such a big issue when a project starts out because you can just work locally and migrate everything to the live db on launch.
My big concern is that after the client has been using the site for a while I will need to deploy (changes/fixes/new features) without overwriting the content that they’ve been writing since launch.
What are the best practices for handling the deployment cycle with an expression engine site?