用于安全和原子数据库连接的上下文管理器
Conntext的Python项目详细描述
用于安全和原子数据库连接的上下文管理器
基本原理
- 每个上下文都是一个原子进程(“要么全部发生,要么什么都不发生”)
- 没有手动的commit(成功)、rollback(失败)或close(任何一个)
- 无ORM
用法
没有连接文本,
conn=sqlite3.connect(":memory:")try:cursor=conn.cursor()try:cursor.execute("CREATE TABLE person (name)")cursor.execute("INSERT INTO person (name) VALUES (?)",["microamp"])exceptException:raisefinally:cursor.close()exceptException:conn.rollback()raiseelse:conn.commit()finally:conn.close()
使用conntext,
fromconntextimportconntextwithconntext.conn(sqlite3.connect(":memory:"))asconn:withconntext.cursor(conn.cursor())ascursor:cursor.execute("CREATE TABLE person (name)")cursor.execute("INSERT INTO person (name) VALUES (?)",["microamp"])
许可证
所有代码都是在gnu lesser通用公共许可(v3+)下授权的。