【发布时间】:2014-04-28 13:20:46
【问题描述】:
我已经复制了数据库并启动了网站。现在我添加了一个特性(例如,模型中的一个新属性导致在某个表中创建一个列),我将文件复制到服务器并且网站得到更新。但是,我应该如何处理 sql server 的更新。我知道我可以通过在Update-Database 命令中使用-Script 来生成脚本,但是,如果我忘记这样做了怎么办。我能否以某种方式查看旧迁移的脚本,以便在我的服务器上运行它们?
【问题讨论】:
-
我认为你需要考虑源代码控制。我们倾向于将每次数据库更改、每次更新的 .sql 脚本转储到相关站点的 SVN 存储库中。
-
@DavidHirst 是手动完成,还是我可以设置为每次执行
Update-Database? -
我不确定我是否关注?您说“我可以以某种方式查看旧迁移的脚本,以便可以在我的服务器上运行它们吗?”。答案是肯定的,如果您对为 Update-Database 编写的那些脚本使用源代码控制,则可以。您可以在您的存储库中查看任何较旧的更新,甚至在您需要时回滚您的站点代码和数据库脚本。一些源代码控制软件也会执行发布方面,但我倾向于在我的环境中手动执行。
-
@DavidHirst 我至少目前没有保存任何这些脚本。我做了“更新数据库”,脚本在数据库中生成并执行,就是这样,我不再有任何线索。这是否意味着我必须开始将它们保存在我的应用程序的某个位置?或者也许我错了,他们实际上被保存在某个地方,但我找不到他们?附言这些脚本是由
EF或任何负责生成的。生成它们的唯一事情是,正如我在问题中给出的示例,我在模型中添加了一个新属性。 -
我明白了,看看这个帖子我相信这就是你要找的stackoverflow.com/questions/4153047/…
标签: sql-server asp.net-mvc entity-framework asp.net-mvc-5 entity-framework-migrations