升级数据库并重构数据库架构

时间:2013-08-08 07:32:10

标签: database sqlite database-design

我对数据库设计概念很陌生。在我的应用程序中,我们使用SQLite。一切都很好。现在由于需求的变化,我们需要修改数据库(需要删除一些列并添加其他一些列。)

当用户升级我们的软件包时,我们需要升级旧数据库以获得最新的列,并且需要从数据库中删除不需要的列。

我们的要求是,用户可以从任何较低版本升级到任何更高版本。 为此,我写了这样的代码。 (我已经编写了代码的算法流程。)

1)获取客户端计算机中的当前数据库版本。 (其中一个表列具有DB版本号。)

2)如果版本与包的当前版本相同,那么就不要做任何事情

3)如果版本不同,则执行升级:

 if (n.n.n.n == OLDDBVersion)
 {
        //Perform upgrade i.e. update the difference from version n to the current version
 }

请告诉我升级数据库的最佳做法。

1 个答案:

答案 0 :(得分:0)

为什么软件升级的同时数据库没有升级?我假设软件已升级,因为用户说'升级'或类似的东西,为什么不在那时升级Db?这样你就可以避免让软件使用错误的Db版本。

除此之外,你的流程对我来说很好。