有没有办法连接没有include在sequelize 中定义的关联的表?这不是重复这个.我说的是根本没有关联但有我要加入的列的表.
例:
select * from bank
left outer join account
on account.bank_name = bank.name
Run Code Online (Sandbox Code Playgroud)
bank无论是否存在account指定约束条件的记录,上述查询都将返回表中的所有记录.
在sequelize中,如果模型bank和account关联的话,它将类似于以下内容account.bank_name = bank.name:
bank.findAll({
include: [{
model: account,
required: false,
}]
})
Run Code Online (Sandbox Code Playgroud)
但是,如果模型没有关联怎么办?有没有办法编写我自己的自定义on部分或等效的:
bank.findAll({
include: [{
model: account,
required: false,
on: {
bank_name: Sequelize.col('bank.name')
}
}]
})
Run Code Online (Sandbox Code Playgroud)
我依稀记得读过一些关于此的内容,但我现在似乎无法在任何地方找到该文档.如果您可以指向文档中的正确部分,将不胜感激.
标题几乎说明了一切(但也许还有更险恶的东西在起作用。)我知道在您登录/etc/profile.d/*.sh时运行的脚本,但当您只是启动一个 shell 时,它似乎并没有按预期工作。这是一个使用 docker 的示例:
创建一个小脚本:
$ echo "echo hello world" > startup.sh
Run Code Online (Sandbox Code Playgroud)
运行安装了脚本的 alpine shell,如下所示:
$ docker run -it --rm -v `pwd`/startup.sh:/etc/profile.d/statup.sh alpine sh
Run Code Online (Sandbox Code Playgroud)
您将得到的只是一个 shell 提示符:
/ #
Run Code Online (Sandbox Code Playgroud)
当你从这里开始时,它确实会打印“hello world” su -:
/ # su -
hello world
2bf679a5677d:~#
Run Code Online (Sandbox Code Playgroud)
但简单地sh启动一个 shell 是不行的:
/ # sh
/ #
Run Code Online (Sandbox Code Playgroud)
那么,这里有什么问题呢?它是一个不起眼的 Alpine Linux 东西吗?它是一个不起眼的 Alpine Linux Docker 镜像吗?
我必须声明的pipeline_a执行pipeline_b通过build job。问题是pipeline_b需要使用一些由pipeline_a. stash/unstash对我来说,可以在阶段之间共享数据,但pipeline_a在pipeline_b.