Efcore迁移
Efcore迁移
Add-Migration XX:
1、根据模型的实际结构对比当前快照,从而生成新迁移文件的Up和Down方法
2、根据模型的实际结构修改快照和新迁移文件
-----------------
Remove-Migration
一、我们定义:
1、最后一次的迁移文件,称为:A
2、倒数第二次的迁移文件,称为:B
二、判断:
1、快照和A是不同的:将快照恢复成A,结束
2、快照和A是相同的:删除A,将快照恢复成B,结束
-----------------
Update-Database
1、数据库__EFMigrationsHistory中MigrationId字段和迁移文件做对比
2、更新所有新于MigrationId字段的迁移
3、更新后的迁移不可Remove
4、如果要Remove已经更新的数据库操作,可以使用Update-Database XX指定恢复到哪个历史版本(请注意数据安全)
特殊情况:
一、如果不小心删除快照文件
1、先从他处复制一个空快照文件到项目中
2、执行Remove-Migration,可恢复快照文件到上次迁移的状态
(如有过模型修改,可再执行以下)
3、执行Add-Migration XX,生成新的迁移文件
4、Update-Database,执行更新
二、如果不小心手动删除迁移文件
第一种:
1、手动去数据库里修改对应结构
2、删除所有迁移和快照后,从此刻重新开始依赖迁移功能
第二种:
1、把模型的状态恢复到和数据库同步
2、删除所有的迁移文件和快照
3、执行Add-Migration XX,重新生成快照和迁移文件
4、手动删除XX文件
5、修改模型为最新版本
6、再一次执行Add-Migration XX,并Update-Database
所以,迁移文件和快照特别重要,在未更新本地开发数据和最终数据前,千万不要手动删除!
要清理迁移文件前,请三思三思再三思!
Efcore迁移的更多相关文章
- Mego开发文档 - 从EF6/EFCore迁移到Mego
从EF6/EFCore迁移到Mego框架 如果您有EntityFragmework6或EntityFragmeworkCore的开发经验,在首次接触Mego框架时会发现这两个框架非常相似,本文将帮忙您 ...
- vs2017 EFCore 迁移数据库命令
项目结构: 首先引用 Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.Design 增加类DesignTimeDbC ...
- EFCore:关于DDD中值对象(Owns)无法更新数值
最近使用DDD+EFCore时,使用EFCore提供的OwnsOne或者OwnsMany关联值对象保存数据,没想到遇到一个很奇怪的问题:值对象中的值竟然无法被EFCore保存!也没有抛出任何异常!我瞬 ...
- Entity Framework Core 2.0 入门简介
不多说废话了, 直接切入正题. EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle. EFCore 2.0新的东西: 查询: EF.Fu ...
- Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Provide ...
- EFCore数据库迁移命令整理
前言 因为现在用.net core 开发新项目,过程中需要经常涉及到数据命令的迁移,今天分别整EFCore 的两种迁移数据库的方式 1 程序包管理器控制台 , Package Manager Con ...
- EasySharding.EFCore 如何设计使用一套代码完成的EFCore Migration 构建Saas系统多租户不同业务需求且满足租户自定义分库分表、数据迁移能力?
下面用一篇文章来完成这些事情 多租户系统的设计单纯的来说业务,一套Saas多租户的系统,面临很多业务复杂性,不同的租户存在不同的业务需求,大部分相同的表结构,那么如何使用EFCore来完成这样的设计呢 ...
- .Net下极限生产力之efcore分表分库全自动化迁移CodeFirst
.Net下极限生产力之分表分库全自动化Migrations Code-First ## 介绍 本文ShardinfCore版本x.6.x.x+ 本期主角: - [`ShardingCore`](htt ...
- EFCore高级Saas系统下一个DbContext如何支持多数据库迁移
EFCore高级玩法单DbContext支持多数据库迁移 前言 随着系统的不断开发和迭代默认的efcore功能十分强大,但是随着Saas系统的引进efcore基于表字段的多租户模式已经非常完美了,但是 ...
随机推荐
- jquery判断两次密码不一致
jquery检测输入密码两次不一样提示 输入密码: <input type="password" name="password1" id="pa ...
- HDU-5446-UnknownTreasure(组合数,中国剩余定理)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=5446 题意: On the way to the next secret treasure hiding ...
- location对象属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined) A,B,C【真的菜·】
8说了 #include<bits/stdc++.h> using namespace std; #define int long long signed main(){ string s ...
- React组件属性/方法/库属性
1. propTypes 用于进行props的类型检查:来自于prop-types库. // V15.5之后 import PropTypes from 'prop-types'; 该方法适用于函数组 ...
- Bootstap学习的实用网站
基本CSS样式 http://v2.bootcss.com/base-css.html 93 Twitter Bootstrap HTML Templates https://shapebootstr ...
- 当margin和padding的值是百分比时,如何计算
对元素的margin设置百分数时,百分数是相对于自身包含块的width计算(包含块传送门),不管是margin-top/margin-bottom还是margin-left/margin-right. ...
- unity Assetboundle 工具
Unity Asset Bundle Browser tool https://github.com/Unity-Technologies/AssetBundles-Browser assetboun ...
- Redis Mysql 双写一致性问题
一:序 - 最近在对数据做缓存时候,会涉及到如何保证 数据库/Redis 一致性问题. - 刚好今天来总结下 一致性问题 产生的问题,和可能存在的解决方案. 二:(更新策略)- 先更新数据库,后更新 ...
- epoll反应堆模型代码
libevent函数库核心思想 /*** epoll_loop.c ***/ #include<stdio.h> #include<sys/epoll.h> #include& ...