如何删除种子而不会对数据库产生任何影响?

Posted

技术标签:

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

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

【问题讨论】:

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

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

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

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

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

【讨论】:

以上是关于如何删除种子而不会对数据库产生任何影响?的主要内容,如果未能解决你的问题,请参考以下文章

.为啥被定义为参照表的表无法删除?

如果我从开发者帐户中删除设备会影响配置文件吗?

oracle 删除archivelog对数据库影响么

如何使用 rtorrent 中的移动/删除文件自动删除种子?

删除ib_logfile0和ib_logfile1,对mysql会有影响?

如何从 AJAX 响应中删除所有 href