小编Job*_*obu的帖子

如何仅将SQLAlchemy记录器输出到文件

从我在SQLAlchemy日志配置文档中读到的内容中,我了解到echo参数sqlalchemy.create_engine控制sqlalchemy日志记录是否强制为stdout,但不应影响日志消息是否可用于日志处理程序.

在下面的代码中,我没有输出到stdout OR db.log if echo=False和我得到输出到stdout和db.log if echo=True.当db.log仍然填充时,我不需要stdout.我怎么能做到这一点?

这是python 2.7.6和sqlalchemy 0.9.9

import sqlalchemy
import logging

active_db_url = 'postgres://user:pass@localhost/log_test'

db_log_file_name = 'db.log'
db_log_level = logging.INFO

db_handler = logging.FileHandler(db_log_file_name)
db_handler.setLevel(db_log_level)

db_logger = logging.getLogger('sqlalchemy')
db_logger.addHandler(db_handler)

engine = sqlalchemy.create_engine(active_db_url, echo=True)
engine.connect()
Run Code Online (Sandbox Code Playgroud)

**EDIT已解决**db_logger也需要设置其logLevel.不只是db_handler.

import sqlalchemy
import logging

active_db_url = 'postgres://user:pass@localhost/log_test'

db_log_file_name = 'db.log'
db_handler_log_level = logging.INFO
db_logger_log_level = logging.DEBUG

db_handler = logging.FileHandler(db_log_file_name)
db_handler.setLevel(db_handler_log_level)

db_logger = logging.getLogger('sqlalchemy')
db_logger.addHandler(db_handler)
db_logger.setLevel(db_logger_log_level)

engine = sqlalchemy.create_engine(active_db_url, echo=False)
engine.connect()
Run Code Online (Sandbox Code Playgroud)

python logging sqlalchemy

7
推荐指数
1
解决办法
3659
查看次数

如何在 Typescript 模块 (.tsx) 中导入 JSX 中定义的现有 React 组件

我有一个用 JSX 编码的现有 React 组件,目前我无法转换为 Typescript。我想在用 Typescript 编写的新 React 应用程序中使用它。我不知道是否可以在 TSX 代码中导入和使用 JSX 代码。这可能吗?我该怎么做?

谢谢

下面的例子给出了错误: TS2604:JSX element type 'OldCode' does not have any construct or call signatures.

旧代码.jsx

import React from 'react'

export default React.createClass({
  render() {
    return <div>OldCode</div>
  }
})
Run Code Online (Sandbox Code Playgroud)

新代码.tsx

import * as React from 'react';
import { OldCode } from './OldCode';

export default class NewCode extends React.Component<any, any> {
  render() {
    return (
      <OldCode/>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

jsx typescript tsc reactjs

5
推荐指数
1
解决办法
5177
查看次数

Poetry 发现间接依赖项(python 的 numpy)已过时,但没有更新它

尝试诗歌 1.1.11 并在我的 pyproject.toml 的 tool.poetry.dependencies 部分中添加 pandas。Pandas 依赖于 numpy

\n
pandas 1.3.3 Powerful data structures for data analysis, time series, and statistics\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 numpy >=1.17.3\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 python-dateutil >=2.7.3\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 six >=1.5 \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pytz >=2017.3\n
Run Code Online (Sandbox Code Playgroud)\n

当我打电话时poetry add pandas它时,正确安装了 numpy 1.21.1。Numpy 已经升级到 1.22.2,诗歌也认识到了这一点

\n
poetry show --outdated\nnumpy 1.21.1 1.21.2 NumPy is the fundamental package for array computing with Python.\n
Run Code Online (Sandbox Code Playgroud)\n

但 numpy 并没有被诗歌更新。

\n
poetry update\nUpdating dependencies\nResolving dependencies... (0.3s)\n\nNo dependencies to install or update\n
Run Code Online (Sandbox Code Playgroud)\n

这是预期的吗?numpy 如何/何时更新?

\n

编辑2:根据@finswimmer的请求,这里是TOML,并且是比第一个编辑TOML更简单的情况。这是一个来自 的空项目 …

python-poetry

4
推荐指数
1
解决办法
3067
查看次数

仅在数据更改时触发的更新触发器后MySQL中的NULL处理

由于声誉限制,这是对先前问题的答案的后续问题.我想知道在处理NULL值时是否有更有效的方法来测试每个字段的更改.

CREATE TABLE foo (
  a INT NULL DEFAULT NULL, 
  b INT NULL DEFAULT NULL,
  c INT NULL DEFAULT NULL
);

CREATE TABLE bar (
  a INT NULL DEFAULT NULL,
  b INT NULL DEFAULT NULL,
  c INT NULL DEFAULT NULL
);

INSERT INTO foo (a, b) VALUES (1, 2);
Run Code Online (Sandbox Code Playgroud)

我想要一个触发器,只有在更新更改了值时才会在更新后执行操作.所以这个UPDATE不会导致INSERT:

UPDATE foo SET a = 1 WHERE b = 2;
Run Code Online (Sandbox Code Playgroud)

但是这个UPDATE将导致INSERT:

UPDATE foo SET a = 2 WHERE b = 2;
Run Code Online (Sandbox Code Playgroud)

我已经编写了这个触发器来处理它,但是我希望可以简化IF语句.

DELIMITER ///
CREATE TRIGGER …
Run Code Online (Sandbox Code Playgroud)

mysql sql null triggers

3
推荐指数
2
解决办法
2650
查看次数

MySQL View的性能比底层查询的性能更差

我有一个使用以下定义的MySQL视图(JOIN为简洁起见,省略了语句)。

CREATE VIEW vw_example AS 
SELECT a, b, c FROM x, y, z
Run Code Online (Sandbox Code Playgroud)

多次重复的SELECT a, b, c FROM x, y, z速度是的5倍SELECT a, b, c FROM vw_example

我想了解这是为什么,以及如何使SELECT FROM vw_example性能与基础内联SELECT FROM x, y, z

mysql performance view

3
推荐指数
2
解决办法
4204
查看次数