回答編集履歴

1

mainだけでなくdbパッケージの修正も追記

2018/07/10 04:35

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,72 @@
1
1
  `Connect` で `defer db.Close()` しているからでは?
2
2
 
3
3
  こんな風に `Connect` で閉じずに `main` 関数で閉じてみたらどうでしょう。
4
+
5
+
6
+
7
+ ```go
8
+
9
+ package db
10
+
11
+
12
+
13
+ type TestDB interface {
14
+
15
+ GetAllUsers() []interface{}
16
+
17
+ }
18
+
19
+
20
+
21
+ type testdb struct {
22
+
23
+ data *gorm.DB
24
+
25
+ }
26
+
27
+
28
+
29
+ func (d *testdb) Close() {
30
+
31
+ db.data.Close()
32
+
33
+ }
34
+
35
+
36
+
37
+ func Connect() *testdb{
38
+
39
+ db, err := gorm.Open("mysql", "path")
40
+
41
+ d := &testdb{
42
+
43
+ data: db,
44
+
45
+ }
46
+
47
+ if err != nil {
48
+
49
+ panic(err.Error())
50
+
51
+ }
52
+
53
+ return d
54
+
55
+ }
56
+
57
+
58
+
59
+ func (d *testdb) GetAllUsers() []model.Users{
60
+
61
+ u := []model.User{}
62
+
63
+ d.data.Find(&u)
64
+
65
+ return u
66
+
67
+ }
68
+
69
+ ```
4
70
 
5
71
 
6
72