5

I am about to embark on the development of a web application project.

I'd like to get something up early and often for early adopters to play with and feedback.

But I envisage the data model changing as the project progresses and my understanding of the system improves.

How should I manage the dilemma of updating the data model appropriately and preventing data loss for early adopters? Should I simply put up a big warning saying "user beware", or should I put in the effort to create migration scripts?

4

5 回答 5

5

What platform are you using? Ruby on Rails gives you migration scripts as part of the package. If you're in Java-land, you might want to check out migrate4j.

In the end, I'd suggest doing both things: Warn your users that they're using alpha software, and employ migration scripts with the intent of preserving their data whenever you can (lest they become peeved and lose interest).

于 2008-12-30T15:31:06.363 回答
3

Scott Ambler has written some nice stuff about agile databases. There's a book and a website.

于 2008-12-30T15:29:27.257 回答
2

对于我公司...

这是一个硬性规定,在可能的情况下,数据库必须向后兼容当前版本的软件。如果不是对罪犯诉诸焦油和羽化策略。

在我们的案例中,我们为客户编写自定义软件应用程序,因此我们在如何实现事物方面具有一定的灵活性……但更多情况下,客户希望通过实时数据查看他们的更改。因此,我们必须能够支持应用程序的当前版本,以及客户正在审查和批准的应用程序的新版本。

我们做的其他一些事情是投资Red Gate 的 Sql Compare 和 Sql Data Compare。这可以确保来自开发环境的更改正确地转移到生产环境中。

我们最近也放弃了使用存储过程,因为它们在维护方面提供了不必要的抽象层......而且它们是邪恶的!=)

于 2008-12-31T13:07:36.510 回答
1

The first time I ever heard about agile data was a talk by Martin Fowler and Pramod Sadalage.

于 2008-12-30T15:30:50.217 回答
0

@bradheintz; I'm using the Microsoft Web Stack.

I have found a short list of .NET related migration tools here:

http://flux88.com/blog/net-database-migration-tool-roundup/.

于 2008-12-31T12:48:00.763 回答