gpt4 book ai didi

fluent-migrator - 如何检查是否需要运行迁移或是否使用 fluent 迁移器运行?

转载 作者:行者123 更新时间:2023-12-04 17:00:37 26 4
gpt4 key购买 nike

使用 FluentMigrator,有没有办法找出 MigrateUp() 函数是否确实会迁移某些东西,或者它是否已经是最新的?

最佳答案

没有简单的方法可以使用公共(public) api 判断 MigrateUp方法是否会做某事。

但是,有多种“其他”方法可以解决这个问题,具体取决于 FluentMigrator 的内部结构:

  • 源自 MigrationRunner , 覆盖 ApplyMigrationUp方法,每次应用迁移时都会调用该方法,并跟踪/记录应用的迁移
  • 创建自定义IAnnouncer实现,配置 FluentMigrator 以通过 IRunnerContext 使用它在你的播音员Say方法检查 message参数包含文本 "migrated"这意味着已应用迁移步骤。
  • 在运行 MigrateUp 之前查看待处理的迁移,如果您可以在 MigrationRunner 上获得引用您可以:

  •     MigrationRunner runner = ... // get a reference to the runner
    if (runner.MigrationLoader.LoadMigrations() // get all the migrations
    .Any(pair => !runner.VersionLoader
    .VersionInfo.HasAppliedMigration(pair.Key)))
    // check which migrations have been applied
    {
    // there are pending migrations, do your logic here
    }

    关于fluent-migrator - 如何检查是否需要运行迁移或是否使用 fluent 迁移器运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22076745/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com