代码之家  ›  专栏  ›  技术社区  ›  Ricardo Marimon

在多个生产环境中更新数据库模式的首选方法是什么

  •  -1
  • Ricardo Marimon  · 技术社区  · 14 年前

    我将在多个连接到本地数据库的位置安装大约20台服务器,它们都有相同的web应用程序。我将远程更新web应用程序(可能使用debian的包管理器),我确信最终需要更新数据库模式。由于每个服务器最终都可能使用不同版本的web应用程序,因此我需要一种方法将增量更改应用到服务器。

    我在想这样的事。我们先从 database.schema.1 作为数据库的原始版本,假设这个数字随着架构的每个新版本而增加。我最终会 database.schema.17 作为当前版本。对于新安装,这将是要安装的架构。在我看来,我需要连续的翻译,比如 database.translation.1.2 会改变 数据库.schema.1 进入之内 database.schema.2 , database.translation.2.3 从2到3,依此类推,直到17。似乎每当我改变一个模式时 alter 数据库,但也许我需要运行一些脚本 update 可能使用SQL完成但可能需要外部非SQL脚本的数据。

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

    2 回复  |  直到 14 年前
        1
  •  0
  •   Community Neeleshkumar S    7 年前
        2
  •  0
  •   Christoffer Hammarström    14 年前

    取决于你所处的语言和环境。

    rails通过 migrations .