I have always been curious how other developers deploy custom objects and fields. If I have a small amount of development work in sandbox, I can just recreate the new custom objects and fields in production first, and then deploy the Apex and VF using the IDE. When I have bigger projects, it seems easier to use change sets to I can add the custom objects and custom fields within the change set. This avoids having to recreate every object and every field in production.
However, when I do this, each custom field on every custom object has nothing set in the field level security. So I now have to go through and update the field level security on every field for every object. This can be highly time consuming and monotonous if you have a good number of objects and fields.
How are other people deploying Objects and Fields? Should I be using the migration tool? I have never really explored it, is it tough to set up and use? Am I missing something or doing something incorrectly?