我对数据库设计概念很陌生。在我的应用程序中,我们使用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
}
请告诉我升级数据库的最佳做法。
答案 0 :(得分:0)
为什么软件升级的同时数据库没有升级?我假设软件已升级,因为用户说'升级'或类似的东西,为什么不在那时升级Db?这样你就可以避免让软件使用错误的Db版本。
除此之外,你的流程对我来说很好。