go-txdb:用于golang的不可变事务隔离sql驱动程序

时间:2024-02-20 14:46:55
【文件属性】:

文件名称:go-txdb:用于golang的不可变事务隔离sql驱动程序

文件大小:13KB

文件格式:ZIP

更新时间:2024-02-20 14:46:55

testing go golang sql tdd

用于GO的基于单个事务的sql.Driver 软件包txdb是基于单个事务的数据库sql驱动程序。 打开连接后,它将启动一个事务,并且对该sql.DB执行的所有操作都将在该事务内。 如果执行并发操作,则将获取锁定,并且始终释放连接,并且语句和行不保存连接。 为什么有用。 一个非常基本的用例是,如果您要进行功能测试,则可以准备一个测试数据库,而在每个测试中都不必重新加载数据库。 所有测试都隔离在事务内,并且执行速度很快。 而且您不必在代码中连接sql.DB引用, txdb就像标准的sql.Driver一样。 该驱动程序支持任何要打开的sql.Driver连接。 您可以为不同SQL驱动程序注册txdb,并将其使用不同的驱动程序名称。 在后台,只要打开txdb驱动程序,它就会尝试打开真实连接并开始事务。 调用close时,它将回滚事务,使准备好的测试数据库保持与以前相同的状态。 给定的是,您有一个名为txdb_test的mysql数据库,以及一个带有用户名列的表用户。 package main import ( "database/sql"


【文件预览】:
go-txdb-master
----go.mod(44B)
----db_test.go(10KB)
----db_go18_test.go(1KB)
----db_go19.go(382B)
----db.go(8KB)
----options.go(886B)
----mysql_test.go(911B)
----.travis.yml(379B)
----LICENSE(1KB)
----postgresql_test.go(170B)
----README.md(3KB)
----Makefile(1KB)
----db_before_go18.go(192B)
----docker-compose.yml(351B)
----db_go18.go(3KB)

网友评论