-
Notifications
You must be signed in to change notification settings - Fork 0
/
datebase.go
63 lines (49 loc) · 1.13 KB
/
datebase.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package main
import(
"github.com/jinzhu/gorm"
_ "github.com/go-sql-driver/mysql"
"fmt"
)
const(
//Dialect
Dialect = "mysql"
//DBUser ユーザー名
DBUser = "User"
//DBPass パスワード
DBPass = "password"
//DBProtocol プロトコル
DBProtocol = "tcp(127.0.0.1)"
//DBName DB名
DBName = "ranking"
//DBchar 文字コード
DBchar = "charset=utf8mb4"
)
type channel struct{
gorm.Model
URL string
Title string
ChannelID string
ChannelTitle string
Description string `gorm:"size:105"`
Date string `gorm:"size:8"`
}
func connectDB() *gorm.DB {
connectTemplate := "%s:%s@%s/%s?%s&parseTime=true"
connect := fmt.Sprintf(connectTemplate, DBUser, DBPass, DBProtocol, DBName, DBchar,)
db, err := gorm.Open(Dialect, connect)
if err != nil {
panic(err)
}
return db
}
func insert(channels []channel, db *gorm.DB) {
for _, channel := range channels {
db.NewRecord(channel)
db.Create(&channel)
}
}
func findByDate(date string, db *gorm.DB) []channel {
var findChannel []channel
db.Where("Date = ?", date).Find(&findChannel)
return findChannel
}