gpt4 book ai didi

entity-framework - Entity Framework 迁移 - 即使没有迁移种子也会运行?

转载 作者:行者123 更新时间:2023-12-03 07:34:01 25 4
gpt4 key购买 nike

我已经使用 AutomaticMigrationsEnabled = false 设置了一个简单的迁移。在 Visual Studio 中或使用 MigrateDatabaseToLatestVersion 时,一切都运行良好。

但是,这对我来说并不理想。我想从 ci 服务器上的部署脚本运行迁移。我发现this article解释如何使用 migrate.exe 执行此操作但是这似乎总是运行种子。即使没有要应用的迁移也是如此。

我是否需要在 Seed 方法中以编程方式检查是否已运行任何迁移?我该怎么做?

最佳答案

使用DbMigrator仅当存在挂起的迁移时才手动运行 Update()。它是在 Entity Framework 5.0 中引入的。

private void MigrateAndSeedDbIfSchemaIsOutdated()
{
// Disable initializer.
Database.SetInitializer<MyContext>(null);

// Make sure database exists.
using (var db = new MyContext())
{
db.Database.Initialize(false);
}

var migrator = new DbMigrator(new MyConfiguration());

if (migrator.GetPendingMigrations().Any())
{
// Run migrations and seed.
migrator.Update();
}
}

关于entity-framework - Entity Framework 迁移 - 即使没有迁移种子也会运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580239/

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