The MigrateDatabaseToLatestVersion database initializer can be used to execute migrations when the application starts.
As far as creating migrations through your code, you can
automatic migrations. For team envionments, we encourage the use of either all-automatic, or all-explicit migrations. When you start to mix automatic an explicit migrations in a team environment, merge conflicts that arise can become more difficult to resolve.
Brice Lambson