2011-08-25 7 views
0

간단한 쿼리를 수행하기 위해 sqlsoup를 사용하고 있습니다. 제 질문은 어떻게 엔진을 닫을 수 있습니까? 덕분에 ! 당신은 당신이 필요하다고 생각하는 이유sqlalchemy.ext.sqlsoup가 만든 엔진을 닫는 방법

import sqlalchemy.ext.sqlsoup as SqlSoup 

db = SqlSoup('sqlite:///test.sqlite') 
res = db.people.filter_by(id = 1).all() 

return res[0] 

답변

1

는 정말 모르겠지만, 여기있다 :

import sqlalchemy.ext.sqlsoup as SqlSoup 
import sqlalchemy 

engine = sqlalchemy.create_engine('sqlite:///test.sqlite') 

db = SqlSoup(engine) 
res = db.people.filter_by(id = 1).first() 

engine.dispose() 

return res 

사용 Query.first()하지 Query.all()[0], SqlSoup 별도로 엔진을 만들고 그 엔진에 전달합니다. 나중에 엔진을 처분 할 수 있습니다.

엔진을 폐기 할 때 새 풀이 만들어집니다. 데이터베이스는 일시적으로 연결이 끊어지지 않지만 열린 연결은 닫히고 dispose 작업 자체에 의해 새 풀에서 새 연결이 끌어 오지 않습니다.