我正在开发一个c#web应用程序。目前我正在我的本地主机上测试,如在visual studio mvc c#local host中。我做了几个补充并创建了新表;我用过迁移。每次启用迁移,然后添加迁移,然后更新数据库。 现在这是我的问题。所有这些迁移都发生在我的本地主机上,现在正在生产中,在我发布到生产的www root后,这种更改是否会自动发生,当我从本地主机复制到生产时,我是否会丢失生产数据库内容?
基本上我想要的只是新的表格字段和结构不是要发布或复制到制作的内容。
感谢
答案 0 :(得分:2)
假设您正在使用EntityFramework。
现在正在制作,在我发布到我的www root之后 生产,这种变化会自动发生吗?
这实际上取决于您的配置。默认情况下,除非你告诉它,否则它不会。如果要自动升级数据库,请应用任何挂起的迁移注册MigrateDatabaseToLatestVersion
数据库初始化程序。
当我从中复制时,我会丢失生产数据库内容 当地主办生产?
单词 内容 如果您指的是数据,请 复制 如果你的意思是应用迁移那么
EF还没有原生数据动作支持。因此,您不应该丢失内容的完整性。虽然您可以根据需要在迁移中执行自定义sql。 Sql()
就是这个功能。
最重要的是,如果您在生产代码中未使用DropCreateDatabaseIfModelChanges
或DropCreateDatabaseAlways
,则相对安全。
答案 1 :(得分:0)