我无法弄清楚如何从Docker容器中读取文件的内容.我想将SQL文件的内容执行到我的PGSQL容器中.我试过了:
docker exec -it app_pgsql psql --host=127.0.0.1 --username=foo foo < /usr/src/app/migrations/*.sql
Run Code Online (Sandbox Code Playgroud)
我的应用程序已安装/usr/src/app.但是我收到了一个错误:
bash:/usr/src/app/migrations/*.sql:没有这样的文件或目录
似乎Bash将此路径解释为主机路径,而不是客户路径.实际上,两次执行命令非常有效:
docker exec -it app_pgsql
psql --host=127.0.0.1 --username=foo foo < /usr/src/app/migrations/*.sql
Run Code Online (Sandbox Code Playgroud)
我认为这更像是Bash问题而不是Docker问题,但我仍然被卡住了!:)
在执行UPDATE查询时,我们收到以下错误消息:
ERROR: duplicate key value violates unique constraint "tableA_pkey"
DETAIL: Key (id)=(47470) already exists.
Run Code Online (Sandbox Code Playgroud)
但是,我们的UPDATE查询不会影响主键.这是一个简化版本:
UPDATE tableA AS a
SET
items = (
SELECT array_to_string(
array(
SELECT b.value
FROM tableB b
WHERE b.a_id = b.id
GROUP BY b.name
),
','
)
)
WHERE
a.end_at BETWEEN now() AND now() - interval '1 day';
Run Code Online (Sandbox Code Playgroud)
我们确保主键序列已经同步:
\d tableA_id_seq
Run Code Online (Sandbox Code Playgroud)
哪个产生:
Column | Type | Value
---------------+---------+--------------------------
sequence_name | name | tableA_id_seq
last_value | bigint | 50364
start_value | bigint | 1
increment_by | bigint …Run Code Online (Sandbox Code Playgroud) 我正在使用 AWS API Gateway 实施 API。我正在使用本机 API 密钥和使用计划来限制客户端速率。然而,我想将数据使用信息添加到我的 API 响应中,例如X-RateLimit-Remaining和X-RateLimit-Reset标头。
我向 AWS 支持询问是否没有任何本机实现,因为这是(至少在我看来)一个非常常见的要求。那没有。
然后,我研究了如何使用对AWS 使用 API 的一些调用来实现这些标头(即使我不太喜欢为每个请求添加 API 调用开销)。但我需要 API 密钥 ID,而不是 API 密钥值(我的请求中只有一个)。根据这个AWS线程,可能不会有任何通过API键值查找的方法。
这一步我只能想象两种解决方案:
您如何在 API 响应中共享数据使用情况?我错过了什么吗?
我在TypeScript中实现了一个自定义赛普拉斯:
// support/commands.js
const login = () => {
console.log('Logging in...');
};
Cypress.Commands.add('login', login);
declare namespace Cypress {
interface Chainable {
login: typeof login;
}
}
Run Code Online (Sandbox Code Playgroud)
我试着用它来调用它:
describe('Login Scenario', () => {
it('should allow a user to login', () => {
cy.visit('/');
cy.login();
});
});
Run Code Online (Sandbox Code Playgroud)
然而,似乎没有建立命令:
TypeError:cy.login不是一个函数
如果我用纯JavaScript编写命令(删除命名空间声明并更新调用(cy as any).login();,它可以工作.
我错过了什么?