我执行了更新-数据库命令,并收到了消息,即没有任何更改,而且数据库是最新的。
然后,在随后发出添加迁移命令以创建一个新的迁移文件之后,我在控制台中接收到这条消息,并将AlterColumn迁移添加到我的迁移文件中。
--一种可能导致数据丢失的手术支架。请检查迁移是否准确.
似乎前面的列更改会将列数据类型更改为数据库中的表。但我的迁移与表或字段的更改完全无关。
我的问题是,为什么在更新-数据库命令中,而不是在我的新迁移文件中有一个脚手架,而不是一个脚手架?
也许这是我个人的妄想症,但我从未见过EF核心代码在“更新-数据库报告”“无变化”之后实施的更改。
发布于 2022-04-25 04:01:52
,我的问题是,为什么在更新数据库命令中,而不是在我的新迁移文件中有一个脚手架,而不是一个脚手架?
因为update-database应用最新的迁移,而不是反过来。进行一些更改,运行add-migration XXXXX,它指示EF查找任何更改(使用上下文快照)并创建一个迁移文件。在使用update-database应用迁移之前,数据库不会发生任何变化。如果在将迁移应用到数据库之前进行更多的模型/模式更改,它们将不会自动添加到挂起的迁移中。
https://stackoverflow.com/questions/70244999
复制相似问题