Started to use the add-migration command in the package manager console to generate the migrations for my model. My question is, the up and down method. I assume that the purpose of the down method is to remove all dependencies and drop the tables if they are already in the database? Also that the down method will be executed before the up method? The up method is then the reverse, create/update tables/indexes etc?
Sometimes when i use this then the down method gets a lot of create tables that then are dropped? Recently it created and dropped a lot of tables and almost the same thing happened in the up method. Why?
The Up
method upgrades your database from its current state (represented by your previous migration) to the state expected by your current code migration. The Down
method does the reverse operation - it removes all the changes from the current migration and reverts database to the state expected by the previous migration. It's like installing / uninstalling the migration. Only one of these methods is executed when you call update-database
. To use the Down
method you must explicitly specify the target migration for your upgrade. If the target migration is the old one, the migration API will automatically use the Down
method and downgrade your database.