【发布时间】:2020-07-18 06:04:42
【问题描述】:
我有一个 Postgres 支持的网站,并使用 REGEXP_REPLACE 替换某些列中值的第一个实例。这可以。问题出现在我需要运行 CI 的地方,并且出于某种原因(Github Actions 和 Windows VM 的限制),我无法在测试中使用 Postgres。
选择 SQLite 产生了一些测试失败,我意识到 SQLite 没有内置 REGEXP_REPLACE。
def do_execute(self, cursor, statement, parameters, context=None):
> cursor.execute(statement, parameters)
E sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such function: regexp_replace
E [SQL: SELECT job_site.created_at AS job_site_created_at, ..., job_site.neighborhood_id AS job_site_neighborhood_id
E FROM job_site
E WHERE regexp_replace(job_site.name, ?, ?) = ?]
E [parameters: (' - ', ':', 'BGS:NEEA - 1894 - 05700 Brown Islands Suite 681')]
E (Background on this error at: http://sqlalche.me/e/e3q8)
如何在 SQLAlchemy 中将此函数添加到 SQLite?
【问题讨论】:
标签: python sqlite sqlalchemy regexp-replace