【问题标题】:How to manage multiple database schema from simple docker?如何从简单的 docker 管理多个数据库模式?
【发布时间】:2017-08-30 14:46:00
【问题描述】:

对于我的应用程序,我正在使用多个数据库。我想从一个地方为所有这些数据库运行/升级架构(出于管理目的)。转到所有数据库是一个繁琐的过程(特别是在生产/集成阶段)并在每次发布后或架构发生某些更改时运行/升级架构。为此,我们考虑使用简单的 docker。

任何人都知道这是否是个好主意?如果可能,请建议如何做? 如果还有其他建议,我想知道。

【问题讨论】:

  • 听起来不错,但 cassandra 中的模式通常不会具有与其他 DB 相同的语法。我认为这可能可行的唯一方法是,如果您编写了一个包含列名和类型之类的应用程序,然后将其转换为每个数据库的特定语法并将其发送出去?
  • 我们将在容器中拥有数据库的所有架构文件。
  • 不同类型的数据库会有不同的架构文件。不需要从一种架构转换为另一种架构。
  • 听起来像是编写脚本的问题,这更像是应用程序方面的工作而不是其他任何事情。您的代码需要依次连接到每个数据库并发出相关语句。我只能从 cassandra 的角度发言,但您可以使用任何一个 Datastax 驱动程序与您的数据库对话以进行更改:docs.datastax.com/en/developer/driver-matrix/doc/common/…
  • 这意味着我需要将各自的驱动程序放入 docker 以连接到数据库并将模式运行到其中。就是这样。对吗?

标签: database postgresql docker cassandra continuous-integration


【解决方案1】:

正如@markc 所建议的,这只是一个脚本问题。连接到所有数据库并在它们上运行模式。使用 golang 作为语言并为此构建了 docker。

【讨论】:

    猜你喜欢
    • 2011-08-17
    • 2012-12-05
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多