什么是实体框架机制,以防止多次执行同一迁移

本文关键字:执行 迁移 实体 框架 机制 什么 | 更新日期: 2023-09-27 18:30:38

当然,EF 会将最新的迁移存储到 MigrationHistory 表中,以确定是否已执行特定迁移。

我的问题是关于 EF 正在采取什么措施来防止同时多次执行同一迁移。假设您有两个应用程序,它们使用同一个数据库在不同的应用程序域下运行。两个应用程序同时启动,因此两个应用程序都开始迁移到最新的数据库迁移。假设MigrateDatabaseToLatestVersion设置为初始值设定项。

我认为上次开始的迁移失败了,因为第一个执行的迁移在之前更新了迁移历史记录表。EF 是否在此处依赖 SQL 事务来回滚为时已晚的迁移?还是使用更智能的机制来阻止第二次迁移的执行?

什么是实体框架机制,以防止多次执行同一迁移

尽管一些迁移步骤在单独的事务中逐个运行,但情况并不简单。不仅两个(或更多)迁移步骤,而且迁移步骤和正常运行的程序也会干扰。

链接:它有点旧,但很有用

更新:想法可能在这里:

  • 马丁·福勒:蓝绿部署
  • 零停机时间 – 关系数据库
  • 第 3 天 - 零停机时间 MySQL 架构更改