Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rafy/Rafy/DbMigration/DbMigrationContext.cs 266行 #189

Open
vsuyi opened this issue Sep 24, 2022 · 2 comments
Open

Rafy/Rafy/DbMigration/DbMigrationContext.cs 266行 #189

vsuyi opened this issue Sep 24, 2022 · 2 comments

Comments

@vsuyi
Copy link

vsuyi commented Sep 24, 2022

            if (dbVersion > maxDataPending)
            {
                this.DbVersionProvider.SetDbVersion(dbVersion);
            }

这代码逻辑错了,数据库的字段怎么也不会更新。

@zgynhqf
Copy link
Owner

zgynhqf commented Sep 24, 2022

复审了一下这里的代码,是没有问题的。
//由于之前把 结构升级 和 数据升级 分离开了,
//所以有可能出现 数据升级 中的最后时间其实没有之前的 结构升级 或者 自动升级 的时间大,
//这样就会导致 数据升级 后,版本号变得更小了。
//所以这里需要判断如果这种情况发生,则忽略数据升级中的版本号。

例如,现在数据库中的版本号已经是 24 号了。这时你添加了一个 22 号的数据升级。
再次运行升级后,数据库的版本号应该是 24 号,而不是 22 号。
所以,这段代码是将版本号修复,使版本号保持在 24 号这个时间点。

@vsuyi
Copy link
Author

vsuyi commented Sep 27, 2022

现场发生的问题是假如那个zz...表没有任何记录的话,maxDataPending也不会写到数据库中,自动迁移仍然会执行这部分初始化的任务,部分数据被初始化了2遍,3遍...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants