2

我有多个可以在启动时运行 DbUp 的桌面应用程序。如果几个应用程序同时运行 DbUp,如何处理这种情况?

我必须为此提供自动解决方案,因为有很多客户端并且 DBA 无法运行数据库更新。它必须在应用更新后自动工作(实际上它也是自动的)。数据库更新可以在应用程序更新期间执行。但它也不能解决并发问题,因为应用程序更新也可能同时发生。DbUp 没有任何锁定机制而不是事务。我添加了一些锁表并添加了脚本以在每个更新脚本开始时更新其中的值。但是有一个问题是脚本在其他 DbUp 实例完成工作后继续运行。

如果锁表更新在模式版本读取之前运行,它将起作用。然后在锁表释放后,它会读取 schemaversion 表,然后可以意识到所有更新都已执行。

Application .Net Core 基于和 DB 是 MySql。

4

0 回答 0