python - 运行 flyway 命令只是打印帮助并在 python 脚本中退出
问题描述
所以我有一个通过 AWS CodeBuild 运行的 Python 脚本。它使用 flyway 命令行 docker 容器来执行以下命令:
cmd = 'flyway -user=' + connection_items['username'] + ' -password=' + connection_items['password'] + ' migrate'
os.system(cmd) # I know this is insecure... just trying to get a migration to run
发生的情况是它在没有任何仅打印帮助和退出的参数的情况下执行 flyway。有人对我做错了什么有任何建议吗?我还不能通过subprocess
模块运行(我遇到了路径问题)
谢谢!
解决方案
它看起来更像是一个 shell 扩展问题,而不是 CodeBuild。
您的构建规范令人困惑,我重写了您的构建规范,如下所示。我希望这有帮助:
---
version: 0.2
phases:
install:
runtime-versions:
python: 3.7
commands:
- echo "Installing flyway..."
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
- timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
- echo "docker run --rm flyway/flyway:6.0.4 -url=jdbc:mysql://db -schemas=myschema -user=root -password=P@ssw0rd -connectRetries=60 migrate" > /usr/local/bin/flyway
- chmod +x /usr/local/bin/flyway
-
build:
commands:
- echo building...
- /usr/local/bin/flyway
- python MigrateDatabase.py
另外,我确信您已经将项目环境的权限模式设置为 true。
推荐阅读
- python - Python - 数字的图像检测
- c# - 为 Dictionary 编写 lambda 表达式
成员 - javascript - firebase.firestore.FieldValue.delete() 不删除文档中的字段
- c# - 我正在寻找 IHttpClientFactory -> HttpMethod.Post 示例
- typo3-8.x - 无法使用chrome登录typo3后端
- javascript - 从 react 使用效果/钩子导出函数/方法
- ruby-on-rails - 如果报告为空白或数据为零,我需要引发异常
- flutter - 使用按钮和滚动将小部件添加到 GridView 时出现问题
- angularjs - 自定义指令在保留原始值的同时屏蔽敏感数据
- macos - 添加终端以停靠持久应用程序,默认写入外语 macOS