gpt4 book ai didi

mysql - 如何在生产中重命名表和某些列

转载 作者:行者123 更新时间:2023-11-29 23:19:36 25 4
gpt4 key购买 nike

我正在使用 Entity Framework 来处理服务器应用程序中的数据库。服务器应用程序部署到位于负载均衡器后面的多个节点。我现在发现需要重命名数据库中的一些表和一些表列。问题是我需要在没有任何停机时间的情况下完成此操作。

如果我编写自己的数据库层,我可以简单地检查数据库的结构,然后根据数据库结构是否升级来运行不同的代码,然后我可能会有 0% 的停机时间。

是否可以在 Entity Framework 4 中执行类似的操作,或者如何使用 Entity Framework 在生产中实际进行数据库更改?我在网上搜索了任何解决方案,但没有成功。我还考虑过在我的应用程序中使用 2 个 Entity Framework 实例,但我必须编写的在它们之间切换的代码量太多并且容易出错。

总结一下这个问题:有没有办法使用 Entity Framework 4 在生产环境中重命名数据库中的表和列,并且无需任何停机时间?

编辑我得到的一个新想法是创建一个 View 来代替旧表,并使用引用新表的旧命名方案。我不知道这是否有效。为了让它工作, Entity Framework 需要接受这个 View ,就像它是一个普通的表一样。这是个好主意吗?有人用 EF4 尝试过类似的事情吗?

最佳答案

好的!这是我的想法 -在数据库中创建新表,然后重命名并在其上构建 EntityFramework 解决方案。

您需要通过从负载均衡器中取出一台服务器来部署它,更新它,将 Entity Framework 代码指向新的表结构,然后再次附加到负载均衡器。

对负载均衡器中的所有服务器一一进行相同的过程。一旦所有更新补丁都完成,然后同步旧表和新表,然后删除旧表。我建议同步这些表,以便您拥有所有数据,而不会在上述过程中发生数据丢失。

关于mysql - 如何在生产中重命名表和某些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27438841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com