【问题标题】:How to remove seed without it having any effect on database?如何删除种子而不会对数据库产生任何影响?
【发布时间】:2021-10-04 12:28:43
【问题描述】:

在我的项目中,我使用种子添加了一些数据。我的项目有几个迁移。 当我添加新的迁移时,我的迁移文件非常大,因为它想要更新数据库中的所有数据。 当我删除种子并添加新迁移时,它想从数据库中删除数据。 如何在不影响数据库的情况下删除种子?

【问题讨论】:

  • 移除种子,生成迁移,但移除试图从迁移中删除不需要的数据的命令。重要的是模型快照是最新的,以后不会尝试删除数据。
  • @abdusco thans,它有效

标签: c# asp.net-core database-migration asp.net-core-3.1 ef-core-3.1


【解决方案1】:

Entity Framework 在生成迁移时只关心模型快照。 我们需要让它认为它实际上更新了数据库,而不删除记录。

  1. 删除植入数据库的代码。
  2. 生成一个新的迁移,它应该有尝试从数据库中删除种子记录的命令。删除这些命令。
  3. 应用(现已失效)迁移

您的模型快照现在是最新的,并且没有从数据库中删除任何内容。

如果您生成新的迁移,它应该是空的,这意味着我们的模型快照确实是最新的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2014-12-04
    • 2021-02-19
    • 1970-01-01
    • 2010-12-25
    • 2011-09-28
    相关资源
    最近更新 更多