From 03e7d42dc000d92b97b606c4521b9d88df3ff934 Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Mon, 24 Jun 2024 15:43:25 -0400 Subject: [PATCH 1/8] Add failing test case for 'table name specified more than once' --- go.mod | 14 ++++++++------ main_test.go | 4 ++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 159394d4..2d90a577 100644 --- a/go.mod +++ b/go.mod @@ -4,11 +4,11 @@ go 1.20 require ( gorm.io/driver/mysql v1.5.2 - gorm.io/driver/postgres v1.5.2 + gorm.io/driver/postgres v1.5.9 gorm.io/driver/sqlite v1.5.3 gorm.io/driver/sqlserver v1.5.1 gorm.io/gen v0.3.25 - gorm.io/gorm v1.25.4 + gorm.io/gorm v1.25.10 ) require ( @@ -17,15 +17,17 @@ require ( github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect - github.com/jackc/pgx/v5 v5.4.3 // indirect + github.com/jackc/pgx/v5 v5.5.5 // indirect + github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/mattn/go-sqlite3 v1.14.17 // indirect github.com/microsoft/go-mssqldb v1.5.0 // indirect - golang.org/x/crypto v0.14.0 // indirect + golang.org/x/crypto v0.17.0 // indirect golang.org/x/mod v0.14.0 // indirect - golang.org/x/sys v0.14.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/sync v0.5.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.15.0 // indirect gorm.io/datatypes v1.1.1-0.20230130040222-c43177d3cf8c // indirect gorm.io/hints v1.1.0 // indirect diff --git a/main_test.go b/main_test.go index 60a388f7..1cfe73e2 100644 --- a/main_test.go +++ b/main_test.go @@ -17,4 +17,8 @@ func TestGORM(t *testing.T) { if err := DB.First(&result, user.ID).Error; err != nil { t.Errorf("Failed, got error: %v", err) } + + if err := DB.Where("id = ?", user.ID).First(&result).Update("name", "jinzhu 2").Error; err != nil { + t.Errorf("Failed, got error: %v", err) + } } From 5a59995a54e15c5bf821c8b50928790bcc037019 Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Fri, 28 Jun 2024 07:15:16 -0400 Subject: [PATCH 2/8] Update main_test.go --- main_test.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/main_test.go b/main_test.go index 1cfe73e2..89a7107e 100644 --- a/main_test.go +++ b/main_test.go @@ -14,9 +14,6 @@ func TestGORM(t *testing.T) { DB.Create(&user) var result User - if err := DB.First(&result, user.ID).Error; err != nil { - t.Errorf("Failed, got error: %v", err) - } if err := DB.Where("id = ?", user.ID).First(&result).Update("name", "jinzhu 2").Error; err != nil { t.Errorf("Failed, got error: %v", err) From 6560f2b7fc8d27b689fa184d5f55aec32810f182 Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Sat, 29 Jun 2024 16:13:30 -0400 Subject: [PATCH 3/8] Test --- go.mod | 2 -- 1 file changed, 2 deletions(-) diff --git a/go.mod b/go.mod index 2d90a577..b29dd52a 100644 --- a/go.mod +++ b/go.mod @@ -33,5 +33,3 @@ require ( gorm.io/hints v1.1.0 // indirect gorm.io/plugin/dbresolver v1.5.0 // indirect ) - -replace gorm.io/gorm => ./gorm From a7e15aa3bd7c9119b23e5d0cd69d6927c0c460ed Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Sat, 29 Jun 2024 16:16:10 -0400 Subject: [PATCH 4/8] Test --- gen.go | 21 --------------------- go.mod | 7 ------- 2 files changed, 28 deletions(-) delete mode 100644 gen.go diff --git a/gen.go b/gen.go deleted file mode 100644 index 3127d5d6..00000000 --- a/gen.go +++ /dev/null @@ -1,21 +0,0 @@ -package main - -import ( - "gorm.io/gen" - "gorm.io/gen/examples/dal" -) - -func generate() { - g := gen.NewGenerator(gen.Config{ - OutPath: "./dal/query", - Mode: gen.WithDefaultQuery, /*WithQueryInterface, WithoutContext*/ - - WithUnitTest: true, - }) - g.UseDB(dal.DB) - - g.ApplyBasic(Company{}, Language{}) // Associations - g.ApplyBasic(g.GenerateModel("user"), g.GenerateModelAs("account", "AccountInfo")) - - g.Execute() -} diff --git a/go.mod b/go.mod index b29dd52a..e37c93cf 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ require ( gorm.io/driver/postgres v1.5.9 gorm.io/driver/sqlite v1.5.3 gorm.io/driver/sqlserver v1.5.1 - gorm.io/gen v0.3.25 gorm.io/gorm v1.25.10 ) @@ -24,12 +23,6 @@ require ( github.com/mattn/go-sqlite3 v1.14.17 // indirect github.com/microsoft/go-mssqldb v1.5.0 // indirect golang.org/x/crypto v0.17.0 // indirect - golang.org/x/mod v0.14.0 // indirect golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.15.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.15.0 // indirect - gorm.io/datatypes v1.1.1-0.20230130040222-c43177d3cf8c // indirect - gorm.io/hints v1.1.0 // indirect - gorm.io/plugin/dbresolver v1.5.0 // indirect ) From 11ed1858efe6116fc780b5381e17968f6e60cee2 Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Sat, 29 Jun 2024 16:22:52 -0400 Subject: [PATCH 5/8] Minimal test --- go.mod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index e37c93cf..5dc2aac5 100644 --- a/go.mod +++ b/go.mod @@ -4,10 +4,10 @@ go 1.20 require ( gorm.io/driver/mysql v1.5.2 - gorm.io/driver/postgres v1.5.9 + gorm.io/driver/postgres v1.5.3 gorm.io/driver/sqlite v1.5.3 gorm.io/driver/sqlserver v1.5.1 - gorm.io/gorm v1.25.10 + gorm.io/gorm v1.25.4 ) require ( From b984cb9924db0fa4290f244cecb8977b31b719d6 Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Sat, 29 Jun 2024 16:25:32 -0400 Subject: [PATCH 6/8] Test --- main_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index 89a7107e..b0910f67 100644 --- a/main_test.go +++ b/main_test.go @@ -15,7 +15,7 @@ func TestGORM(t *testing.T) { var result User - if err := DB.Where("id = ?", user.ID).First(&result).Update("name", "jinzhu 2").Error; err != nil { + if err := DB.First(&result, user.ID).Update("name", "jinzhu 2").Error; err != nil { t.Errorf("Failed, got error: %v", err) } } From 1b61a49a7556f3682c29fa743165bdb1eb5b7c9d Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Sat, 29 Jun 2024 16:28:40 -0400 Subject: [PATCH 7/8] Add session --- main_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index b0910f67..58758ea6 100644 --- a/main_test.go +++ b/main_test.go @@ -2,6 +2,8 @@ package main import ( "testing" + + "gorm.io/gorm" ) // GORM_REPO: https://github.com/go-gorm/gorm.git @@ -11,7 +13,7 @@ import ( func TestGORM(t *testing.T) { user := User{Name: "jinzhu"} - DB.Create(&user) + DB.Session(&gorm.Session{}).Create(&user) var result User From a2cfeeadcc4fb0fdfd388ffcba8dd4a9a55a392d Mon Sep 17 00:00:00 2001 From: Adam Hodges Date: Mon, 8 Jul 2024 09:59:37 -0400 Subject: [PATCH 8/8] Use fresh db connection --- main_test.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index 58758ea6..a24c13a4 100644 --- a/main_test.go +++ b/main_test.go @@ -1,6 +1,8 @@ package main import ( + "log" + "os" "testing" "gorm.io/gorm" @@ -17,7 +19,14 @@ func TestGORM(t *testing.T) { var result User - if err := DB.First(&result, user.ID).Update("name", "jinzhu 2").Error; err != nil { + var DB2 *gorm.DB + var err error + if DB2, err = OpenTestConnection(); err != nil { + log.Printf("failed to connect database, got error %v\n", err) + os.Exit(1) + } + + if err := DB2.First(&result, user.ID).Update("name", "jinzhu 2").Error; err != nil { t.Errorf("Failed, got error: %v", err) } }