Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
609 views
in Technique[技术] by (71.8m points)

entity framework - AutomaticMigrationsEnabled false or true?

In EF projects, Is there any best practice for setting AutomaticMigrationsEnabled ?

More declaration:

In our team after modifying a model we usually run "add-migration" and "update-databse" commands in Package Manager Console. This error raises when other developers run the project:

"Can not drop database because it is in use"

Every time this happen the first modifier should Check In whole project and others have to GET modified objects. In many cases we don't want to check in the already created model and migration!

This situation is annoying,are there any solution for this kind of problems. thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...