Tag: 飞机

我使用飞路错了吗?

我有多个脚本需要对数据库运行。 就我而言,将每个版本的脚本迁移到一个绝对不可行的任务。 然而,几次提到的解决方法是制作小版本脚本,这也是我所期望的。 如果我有4个小脚本需要运行,我希望在同一个事务中拥有全部4个脚本。 所以如果4/4失败,前3应该回滚。 我更加困惑,如果我从2 – > 4和3通过升级系统,而4失败。 我仍然处于困境,希望v3回滚足够好。 我是否在命令行界面中错过了某些东西,我可以告诉flyway在单个事务中迁移所有内容。 或者“testing”迁移并将所有事情都回滚一下,让我知道迁移是否会在没有实际承诺的情况下运行。 编辑 ==== ====上下文 我在一个有多个完整堆栈开发人员的环境中工作。 我们在哪里不断添加和改变function。 正因为如此,我们都有自己的数据库。 每个更改都会被编写脚本,以便一旦脚本影响我们的分支或集成分支时,可以将更改应用到数据库。 因为在多台机器之间进行时,每个版本都有多个脚本。 说明每个开发人员必须不断地更新一个给定的文件是不可行的。 将开发机器与分段和生产数据库采用不同的版本scheme也是不明智的。 更不用说这会在合并分支时造成的。 另外在合并时,如果有一个问题已经发挥了剧本的顺序。 整个集合应该回滚,直到可以发生干净的迁移。 我们有我们自己的移植工具,我唯一面临的问题是,它不能在docker工作,我希望不必改变它。

docker集装箱内不能识别amc,aerospike

我有docker ubuntu 16.04镜像,我正在运行aerospike服务器。 $ docker run -d -p 3000:3000 -p 3001:3001 -p 3002:3002 -p 3003:3003 -p 8081:8081 –name aerospike aerospike/aerospike-server docker工具容器正在成功运行。 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b0b4c63d7e22 aerospike/aerospike-server "/entrypoint.sh asd" 36 seconds ago Up 35 seconds 0.0.0.0:3000-3003->3000-3003/tcp, 0.0.0.0:8081->8081/tcp aerospike 我已经login到docker集装箱 $ docker exec -it b0b4c63d7e22 bash root@b0b4c63d7e22:/# 我列出了目录 – […]

Docker 1.12:多个副本,单个数据库

随着Docker 1.12引入新的“swarm模式”,我们一直试图将我们的应用程序迁移到容器上,并利用swarm模式的编排和集群。 我们的应用程序需要运行一些初始数据库脚本才能启动。 我们并没有将数据库打包到我们的dockerized应用程序中,以便它可以遵循无状态的微服务架构,并且多个容器最终会与单个数据库实例(目前)进行通信。 在创build服务时,我们不能使用–replicas和create service命令,因为多个实例会试图在单个数据库上创build表并失败。 尽pipe我们的脚本会检查数据库是否已经build立,并跳过创build,但是由于所有容器同时启动,所以不能使用。 我们找不到任何等待 –我们可以利用docker工人来解决这个问题的机制。 如果我们只能在第一个创build数据库的时候启动第二个容器(并且暴露了端口 ),但是我们怎么能为此configuration容器间通信呢? 或者,像flywaydb的工具可以帮助某种方式吗? 这应该如何用于生产?