我即将着手开发一个Web应用程序项目。
我想早点获得一些东西,经常让早期采用者玩和反馈。
但我设想随着项目的进展,数据模型会发生变化,我对系统的理解也会有所改善。
如何管理适当更新数据模型并防止早期采用者丢失数据的困境?我应该简单地提出一个警告“用户要小心”,还是应该努力创建迁移脚本?
答案 0 :(得分:5)
您使用的是什么平台? Ruby on Rails为您提供迁移脚本作为包的一部分。如果你在Java-land,你可能想看看migrate4j。
最后,我建议做两件事:警告用户他们正在使用alpha软件,并使用迁移脚本,以便尽可能保留他们的数据(以免他们感到恼怒并失去兴趣)。
答案 1 :(得分:3)
答案 2 :(得分:2)
对于我的公司......
如果可能,数据库必须向后兼容与当前版本的软件是一个硬性规则。如果它没有采取焦油和羽毛战术来对抗罪犯。
在我们的案例中,我们为客户编写自定义软件应用程序,因此我们可以灵活地实现各种方式......但更多时候,客户希望通过实时数据查看其更改< / strong>即可。因此,我们必须能够支持当前版本的应用程序,以及客户正在审核和批准的新版本的应用程序。
我们做的其他一些事情是投入 Red Gate的Sql Compare和Sql Data Compare 。这样可以确保开发环境中的更改能够正确地转移到生产环境中。
我们最近也放弃了对存储过程的使用,因为它们在维护方面提供了一个不必要的抽象层......而且它们是邪恶的! =)
答案 3 :(得分:1)
我第一次听说敏捷数据是Martin Fowler and Pramod Sadalage的话题。
答案 4 :(得分:0)
@bradheintz;我正在使用Microsoft Web Stack。
我在这里找到了一个简短的.NET相关迁移工具列表: