我使用 sqlite (v2.6.0) 作为数据库后端并使用 sqlalchemy(v0.7.9) 来操作它。最近我遇到了一个错误OperationalError: (OperationalError) database is locked
通过搜索stackoverflow,一个可能的解决方案是增加连接的超时时间。参考:OperationalError:数据库被锁定
但我不知道如何在 sqlalchemy 中做到这一点(因为连接实际上是由它控制的)有人可以给我一个方向吗?
我使用 sqlite (v2.6.0) 作为数据库后端并使用 sqlalchemy(v0.7.9) 来操作它。最近我遇到了一个错误OperationalError: (OperationalError) database is locked
通过搜索stackoverflow,一个可能的解决方案是增加连接的超时时间。参考:OperationalError:数据库被锁定
但我不知道如何在 sqlalchemy 中做到这一点(因为连接实际上是由它控制的)有人可以给我一个方向吗?
SQLAlchemycreate_engine()
接受一个参数,该参数connect_args
是一个字典,将传递给connect()
底层 DBAPI(请参阅自定义 DBAPIconnect()
参数)。sqlite3.connect()
接受timeout
参数,所以这应该工作:
create_engine('sqlite:///some.db', connect_args={'timeout': 15})