switch db tool to self create
This commit is contained in:
parent
3df7291d56
commit
a3dae8424b
3
main.go
3
main.go
@ -17,7 +17,8 @@ func main() {
|
|||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
server = routes.NewServ()
|
server = routes.NewServ()
|
||||||
_, err = models.NewDB()
|
x, err := models.NewDB()
|
||||||
|
defer x.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"git.trj.tw/golang/utils/dbtool"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Account - Account table struct
|
// Account - Account table struct
|
||||||
@ -18,18 +21,24 @@ type Account struct {
|
|||||||
// GetAllAccount - all account
|
// GetAllAccount - all account
|
||||||
func GetAllAccount() ([]Account, error) {
|
func GetAllAccount() ([]Account, error) {
|
||||||
var accs []Account
|
var accs []Account
|
||||||
err := x.Table("account").Find(&accs)
|
rows, err := x.Query(`select "id", "account", "password", "nick", "email", "ctime", "mtime" from "public"."account" where 1`)
|
||||||
return accs, err
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = dbtool.ScanToStructAll(rows, &accs)
|
||||||
|
return accs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAccount -
|
// GetAccount -
|
||||||
func GetAccount(account string) (acc *Account, err error) {
|
func GetAccount(account string) (acc *Account, err error) {
|
||||||
acc = &Account{
|
acc = &Account{}
|
||||||
Account: account,
|
|
||||||
|
rows, err := x.Query(`select "id", "account", "password", "nick", "email", "ctime", "mtime" from "public"."account" where "account" = $1`, account)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ok, err := acc.Get()
|
ok, err := dbtool.ScanToStruct(rows, acc)
|
||||||
|
|
||||||
if err != nil || !ok {
|
if err != nil || !ok {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -39,7 +48,12 @@ func GetAccount(account string) (acc *Account, err error) {
|
|||||||
|
|
||||||
// Get -
|
// Get -
|
||||||
func (a *Account) Get() (bool, error) {
|
func (a *Account) Get() (bool, error) {
|
||||||
ok, err := x.Table("account").Get(a)
|
rows, err := x.Query(`select "id", "account", "password", "nick", "email", "ctime", "mtime" from "public"."account" where "account" = $1`, a.Account)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
ok, err := dbtool.ScanToStruct(rows, a)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
@ -49,6 +63,19 @@ func (a *Account) Get() (bool, error) {
|
|||||||
|
|
||||||
// Create -
|
// Create -
|
||||||
func (a *Account) Create() error {
|
func (a *Account) Create() error {
|
||||||
_, err := x.Table("account").Insert(a)
|
row, err := x.Query(`insert into "public"."account"
|
||||||
return err
|
("account", "password", "nick", "email") values ($1, $2, $3, $4) returning *`, a.Account, a.Password, a.Nick, a.Email)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
ok, err := dbtool.ScanToStruct(row, a)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !ok {
|
||||||
|
return errors.New("data returning fail")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,16 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"database/sql"
|
||||||
|
|
||||||
"github.com/go-xorm/xorm"
|
|
||||||
_ "github.com/lib/pq"
|
_ "github.com/lib/pq"
|
||||||
)
|
)
|
||||||
|
|
||||||
var x *xorm.Engine
|
var x *sql.DB
|
||||||
|
|
||||||
// NewDB - db object
|
// NewDB - db object
|
||||||
func NewDB() (*xorm.Engine, error) {
|
func NewDB() (*sql.DB, error) {
|
||||||
var err error
|
var err error
|
||||||
x, err = xorm.NewEngine("postgres", fmt.Sprintf("postgres://%s@%s/%s?sslmode=disable", "postgres", "localhost", "gallery"))
|
x, err = sql.Open("postgres", "user=postgres host=localhost sslmode=disable dbname=gallery")
|
||||||
x.ShowSQL(true)
|
|
||||||
return x, err
|
return x, err
|
||||||
}
|
}
|
||||||
|
@ -166,14 +166,5 @@ func UserSignup(c *context.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ok, err := acc.Get()
|
|
||||||
|
|
||||||
if !ok {
|
|
||||||
c.ServerError(nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Println(acc.ID)
|
|
||||||
|
|
||||||
c.Success(nil)
|
c.Success(nil)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user