AutomaticMigrationsEnabled false or true?

Automatic migrations do all the magic for you but they don’t allow strict versioning (you don’t have special fixed migration for each version). Without strict versioning you cannot track version of your database and you cannot do explicit upgrades (you cannot do downgrades at all).

If you don’t plan to use versioning where you need to know what version the database is and if you don’t plan to use downgrading you can simply use automatic migration.

“Can not drop database because it is in use”

It looks like you are working on the shared database = show stopper. Each developer should use his own database.

but don’t want to checkout the model and migration that was already created!

That is a best practice and if you want to continue with code based migrations you will have to follow it. Btw. there is a practice called “continuous integration” – in continuous integration you should get immediately after the commit is successfully built and passes tests.

Leave a Comment