【问题标题】:What is the preferred way to update database schemas in multiple production environments在多个生产环境中更新数据库模式的首选方法是什么
【发布时间】:2011-02-08 09:14:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: database schema debian upgrade


    【解决方案1】:

    取决于您使用的语言和环境。

    Rails 使用 migrations 解决了这个问题。

    【讨论】:

    • 我在一个带有 MySQL 数据库的 tomcat 容器中使用 java servlet。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    • 2016-09-19
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    相关资源
    最近更新 更多