2010-04-15 20 views
-1

我即将在连接到自己的本地数据库的多个位置安装具有相同Web应用程序的大约20台服务器。我将远程更新Web应用程序(也许使用debian的包管理器),我相信最终需要更新数据库模式。由于每个服务器最终都可能使用不同版本的Web应用程序,因此我需要一种将增量更改应用于服务器的方法。在多个生产环境中更新数据库模式的首选方式是什么

我在想这样的事情。我们从database.schema.1开始,作为数据库的原始版本,并假定这个数字随着模式的每个新版本而增加。我最终可能会以database.schema.17作为当前版本。对于新安装,这将是要安装的模式。在我看来,我需要连续翻译如database.translation.1.2这将转换database.schema.1database.schema.2,database.translation.2.3从2转换到3等到17。似乎只要我更改架构我需要alter数据库,但也许我需要运行一些脚本到update可能用SQL完成但可能需要外部非sql脚本的数据。

什么是组织所有这些文件的适当方式?将这些升级应用于模式的自动方式是什么?我在哪里存储架构的当前版本号?

回答

0

取决于你的工作是什么语言和环境。

Rails的解决了这个与migrations

+0

我在一个带有MySQL数据库的tomcat容器中使用java servlets。 – rmarimon 2010-04-15 18:08:10

相关问题