首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证管道构建中的alembic迁移

验证管道构建中的alembic迁移
EN

Stack Overflow用户
提问于 2019-04-11 12:27:13
回答 1查看 398关注 0票数 1

我已经在Azure上设置了一个构建管道来执行pytest之类的。此外,我还想检查是否没有错过任何迁移。

--autogenerate中运行alembic命令将生成一个新的迁移文件,以防它还不存在。

当单独执行修订命令时

代码语言:javascript
复制
 alembic revision --autogenerate

输出如下所示(1)

代码语言:javascript
复制
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.ddl.postgresql] Detected sequence ...
INFO  [alembic.ddl.postgresql] Detected sequence ...
INFO  [alembic.ddl.postgresql] Detected sequence ...
INFO  [alembic.autogenerate.compare] Detected added column ...
  Generating /.../alembic/versions/dc3dae7487df_.py ... done

我已经试过了,检查如下

代码语言:javascript
复制
 [[ $(alembic revision --autogenerate | grep "^Generating.*done$") ]] && echo "test"

但是,grep似乎不能处理alembic输出,因为即使生成了新的迁移文件,我也从未收到过echo test

运行命令

代码语言:javascript
复制
alembic revision --autogenerate | grep 'Generating.*done' | cat -v

生成输出,如(1)所示。

更改正则表达式也不会得到预期的结果

代码语言:javascript
复制
[[ $(alembic revision --autogenerate | grep "^[[:blank:]]*Generating.*done\r$") ]] && echo "test"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-11 12:41:46

在我们的讨论中,我们发现alembic输出将是stderr而不是stdout,我认为这将执行您想要的操作:

代码语言:javascript
复制
[[ $(alembic revision --autogenerate 2>&1 | grep '^[[:blank:]]*Generating.*done[[:blank:]]*$') ]] && echo "test"

如果这仍然不是你想要的,那么再次编辑你的问题以进一步澄清。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55624713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档