.Net Core Code First
Entity FrameWork Core
迁移命令
迁移场景1
迁移场景2
1. 执行迁移到数据库
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
PM> add-migration InitDataBase --创建一个新的迁移,迁移的名称为`InitDataBase` 此步骤完成后会生成新的文件夹和文件
PM> update-database --使我们的迁移执行到数据库 。。同时数据库会创建对应的数据表和_EFMigrationsHistory表,此表记录着每次更新到数据库的迁移
2. 删除迁移(未执行到数据库的迁移)
1 PM> add-migration InitDataBase --创建一个迁移 2 PM> remove-migration --此命令会执行删除迁移,删除最近的一次迁移
3. 删除迁移(已经执行到数据库的迁移)
PM> add-migration InitDataBase --创建一个迁移 PM> update-database -- 迁移执行到数据库 PM> remove-migration --此命令会执行删除迁移,但会报错,提示此迁移已经存在数据库 PM> update-database InitDataBase -- 此时执行命令可以撤销应用到数据库的迁移 PM> remove-migration -- 可以移除 `InitDataBase` 迁移
4. 删除迁移(已经执行到数据库的很多迁移)
1 PM> add-migration InitDataBase1 --创建一个迁移 2 3 PM> update-database -- 迁移执行到数据库 4 5 PM> add-migration InitDataBase2 --创建一个迁移 6 7 PM> update-database -- 迁移执行到数据库 8 9 PM> add-migration InitDataBase3 --创建一个迁移 10 11 PM> update-database -- 迁移执行到数据库
上述 4 的操作创建了3个不同的迁移文件, 然后执行下面操作删除迁移
1 PM> update-database InitDataBase2 -- 此时执行命令可以撤销应用到数据库的迁移,同时在此之后的迁移记录都会被消除数据库的迁移记录,所以下面的两条命令可以连续执行删除迁移 2 3 PM> remove-migration -- 可以移除 `InitDataBase3` 迁移,因为这个迁移记录是最近的一次迁移记录 4 5 PM> remove-migration -- 可以移除 `InitDataBase2` 迁移,因为这个迁移记录变为了最近的一次迁移记录