change db to sqlite
This commit is contained in:
parent
088d0f2708
commit
3e5ed2b26c
161
core/mysql.go
161
core/mysql.go
@ -1,161 +0,0 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
"gorm.io/gorm"
|
||||
"main/logger"
|
||||
"main/outlook"
|
||||
"main/util"
|
||||
"time"
|
||||
)
|
||||
|
||||
var db *gorm.DB
|
||||
|
||||
func InitDB() error {
|
||||
var err error
|
||||
db, err = gorm.Open("11", &gorm.Config{
|
||||
NowFunc: func() time.Time {
|
||||
return time.Now().UTC()
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//update data by msId
|
||||
func UpdateData(u Client) (bool, error) {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
sqlString := `UPDATE Clients set tg_id=?,refresh_token=?,uptime=?,alias=?,client_id=?,client_secret=?,other=? where ms_id=?`
|
||||
stmt, err := db.Prepare(sqlString)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
_, err = stmt.Exec(u.TgId, u.RefreshToken, u.Uptime, u.Alias, u.ClientId, u.ClientSecret, u.Other, u.MsId)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
//add data
|
||||
func AddData(u Client) (bool, error) {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
sqlString := `
|
||||
INSERT INTO Clients (tg_id, refresh_token,ms_id, uptime,alias,client_id,client_secret,other)
|
||||
VALUES (?,?,?,?,?,?,?,?)`
|
||||
stmt, err := db.Prepare(sqlString)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
_, err = stmt.Exec(u.TgId, u.RefreshToken, u.MsId, u.Uptime, u.Alias, u.ClientId, u.ClientSecret, u.Other)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
//del data by ms_id
|
||||
func DelData(msId string) (bool, error) {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
sqlString := `delete from Clients where ms_id=?`
|
||||
stmt, err := db.Prepare(sqlString)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
res, err := stmt.Exec(msId)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
_, err = res.RowsAffected()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
func QueryData(rows *sql.Rows) []Client {
|
||||
|
||||
var result = make([]Client, 0)
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
var (
|
||||
tgIdt, uptimet int64
|
||||
refresht, othert, msidt, aliast, clientIdt, clientSet string
|
||||
)
|
||||
rows.Scan(&tgIdt, &refresht, &msidt, &uptimet, &aliast, &clientIdt, &clientSet, &othert)
|
||||
//fmt.Println(string(tgNamet) + "=>" + uptimet.Format("2006-01-02 15:04:05"))
|
||||
result = append(result, Client{tgIdt, refresht, msidt, uptimet, aliast, clientIdt, clientSet, othert})
|
||||
}
|
||||
return result
|
||||
}
|
||||
func QueryDataByMS(msId string) []Client {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
rows, err := db.Query("select * from Clients where ms_id = ?", msId)
|
||||
util.CheckErr(err)
|
||||
return QueryData(rows)
|
||||
}
|
||||
|
||||
func QueryDataAll() []Client {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
rows, err := db.Query("select * from Clients ")
|
||||
util.CheckErr(err)
|
||||
return QueryData(rows)
|
||||
}
|
||||
|
||||
//query data by tg_id
|
||||
func QueryDataByTG(tgId int64) []Client {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
rows, err := db.Query("select * from Clients where tg_id = ?", tgId)
|
||||
util.CheckErr(err)
|
||||
return QueryData(rows)
|
||||
}
|
||||
func CreateTB() (bool, error) {
|
||||
db, err := sql.Open(dbDriverName, dbPath)
|
||||
if err != nil {
|
||||
logger.Println(err)
|
||||
}
|
||||
defer db.Close()
|
||||
sqltable := `
|
||||
create table if not exists Clients
|
||||
(
|
||||
tg_id INTEGER,
|
||||
refresh_token TEXT,
|
||||
ms_id VARCHAR(255),
|
||||
uptime INTEGER,
|
||||
alias VARCHAR(255),
|
||||
client_id VARCHAR(255),
|
||||
client_secret VARCHAR(255),
|
||||
other TEXT
|
||||
);`
|
||||
_, err = db.Exec(sqltable)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package core
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
@ -10,14 +10,14 @@ import (
|
||||
)
|
||||
|
||||
type Client struct {
|
||||
TgId int64 `gorm:"column:tg_id"`
|
||||
RefreshToken string `gorm:"column:refresh_token"`
|
||||
MsId string `gorm:"column:ms_id"`
|
||||
Uptime int64 `gorm:"column:uptime"`
|
||||
Alias string `gorm:"column:alias"`
|
||||
ClientId string `gorm:"column:client_id"`
|
||||
ClientSecret string `gorm:"column:client_secret"`
|
||||
Other string `gorm:"column:other"`
|
||||
TgId int64 `gorm:"unique;not null"`
|
||||
RefreshToken string `gorm:"not null"`
|
||||
MsId string `gorm:"unique;primaryKey;not null"`
|
||||
Uptime int64 `gorm:"autoUpdateTime;not null"`
|
||||
Alias string `gorm:"not null"`
|
||||
ClientId string `gorm:"not null"`
|
||||
ClientSecret string `gorm:"not null"`
|
||||
Other string
|
||||
}
|
||||
|
||||
const (
|
||||
23
model/sqlite.go
Normal file
23
model/sqlite.go
Normal file
@ -0,0 +1,23 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
var DB *gorm.DB
|
||||
|
||||
func InitDB() error {
|
||||
var err error
|
||||
DB, err = gorm.Open(sqlite.Open("data.db"), &gorm.Config{
|
||||
NowFunc: func() time.Time {
|
||||
return time.Now().UTC()
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
DB.AutoMigrate(&Client{})
|
||||
return nil
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user