我正在使用桌面应用程序(WPF),它使用sql server数据库来存储和获取数据。现在由于用户需求的变化,在一些表中添加了一些额外的列,我也在NHibernate映射类中进行了更改,并且应用程序已准备好进行新发布。
现在,如果我在生产环境中进行与数据库相关的更改,那么使用旧版本应用程序的用户将获得NHibernate异常,因为映射已更改。
是否有任何解决方案可以避免这种情况?请提出建议。
答案 0 :(得分:0)
您应该手动完成。我有这样的经历。
1.为生产服务器中的那些表备份,哪些表是您更改的映射和更改的新列。 2.从生产服务器中删除这些表。 3.将本地表模式(具有映射和新列的表)移动到生产服务器中。 4.现在根据映射将生产数据从备份表移动到源表中。