【发布时间】: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