我想知道在修补程序时用于更新客户端数据库的内容是什么?
让我们来看看这个场景:
我想知道你是如何做这个过程的。我有一些概念,但我认为更有经验的人可以给我更好的尝试解决方案或建议。
答案 0 :(得分:1)
您需要迁移框架。
现有的OSS库如FluentMigrator
实体框架Code First也将获得自己的迁移框架,但它仍处于测试阶段:
答案 1 :(得分:0)
您需要在代码数据库升级机制中明确地或隐藏地提供,并且 - 从而实现类似DB版本链的链接
答案 2 :(得分:0)
它有几个方面。 首先是版本控制。你需要一些方法将teeh版本的teeh db绑定到程序的版本,可能是一个简单的表格,其中包含版本号。您还需要在执行应用程序时进行检查。
一个有趣的场景是你'更新'应用程序和数据库成功,然后由于某些操作原因,客户恢复以前版本的数据库,或者如果你经常进行补丁周期,你是否必须在每个补丁中执行订购或者可以追赶。您是否只想处理应用程序或仅以数据库升级?
没有一种正确的方法,你必须看看你做出了哪些改变,以及为了应对可能出错的一切而你准备维持多大程度的复杂性。
值得关注的一些事情。 两个数据库,一个用于静态“只读”数据,另一个用于更多动态内容。升级静态数据可以简单地从升级包中的资源进行还原。
另一个是你可以对存储在db表中的元数据做多少。例如,基于xsd的版本来描述您的对象而不是具体的类。这是在你的只读数据库中,现在你已经通过恢复和可能的一些转换来更新代码和应用程序。
很多方法,请记住 “用户”总能通过做一些你从未想过的事情来找到让你看起来像eejit的方法。
您制作系统越复杂,上述机会就越多。
最后但并非最不重要的是,不要对数据版本转换采取捷径,如果您丢失了数据完整性,那么您所做的一切都将被浪费。