Skip to content

Commit

Permalink
patch
Browse files Browse the repository at this point in the history
  • Loading branch information
liudng committed Aug 6, 2015
1 parent 7346599 commit cea1e6d
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 39 deletions.
10 changes: 10 additions & 0 deletions err.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
server.go:124: columnsLen is not equal elemTyp.NumField()


server.go:114: Error 1054: Unknown column 'COLUMN_NAME, DATA_TYPE' in 'field list'


server.go:133: sql: Scan error on column index 4: unsupported driver -> Scan pair: <nil> -> *string


server.go:133: sql: Scan error on column index 4: converting string "<nil>" to a int64: strconv.ParseInt: parsing "<nil>": invalid syntax
74 changes: 37 additions & 37 deletions model.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,80 +5,80 @@
package db

import (
"reflect"
"reflect"
)

// Model struct
type Model struct {
// Module name, as DB name.
Module string
// Module name, as DB name.
Module string

// table instance
Table Table
// table instance
Table Table
}

// Table struct
type Table struct {
// Table name
Name string
// Table name
Name string

// Table primary
Primary string
// Table primary
Primary string

// All fields, except primary
Fields []string
// All fields, except primary
Fields []string

// Entity
EntityType reflect.Type
// Entity
EntityType reflect.Type
}

// Server list
var Servers = make(map[string]*Server)

// Insert
func (m *Model) Insert() *Query {
q := NewQuery(Servers[m.Module])
q.InsertInto(m.Table.Name)
return q
q := NewQuery(Servers[m.Module])
q.InsertInto(m.Table.Name)
return q
}

// Update
func (m *Model) Update() *Query {
q := NewQuery(Servers[m.Module])
q.Update(m.Table.Name)
return q
q := NewQuery(Servers[m.Module])
q.Update(m.Table.Name)
return q
}

// Delete
func (m *Model) Delete() *Query {
q := NewQuery(Servers[m.Module])
q.DeleteFrom(m.Table.Name)
return q
q := NewQuery(Servers[m.Module])
q.DeleteFrom(m.Table.Name)
return q
}

// Select
func (m *Model) Select(f ...string) *Query {
if len(f) == 0 {
f = m.Table.Fields
}
q := NewQuery(Servers[m.Module])
q.Select(f...)
q.From(m.Table.Name)
return q
if len(f) == 0 {
f = m.Table.Fields
}
q := NewQuery(Servers[m.Module])
q.Select(f...)
q.From(m.Table.Name)
return q
}

// New Model
func NewModel(module string, table Table) *Model {
return &Model{Module: module, Table: table}
return &Model{Module: module, Table: table}
}

// New Table
func NewTable(tableName string, entity interface{}) Table {
p, f := tableFields(entity)
t := Table{
Name: tableName,
Primary: p,
Fields: f,
EntityType: reflect.ValueOf(entity).Elem().Type()}
return t
p, f := tableFields(entity)
t := Table{
Name: tableName,
Primary: p,
Fields: f,
EntityType: reflect.ValueOf(entity).Elem().Type()}
return t
}
8 changes: 6 additions & 2 deletions util.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,16 @@ import (
"reflect"
)

// Item
// Alias of map[string]interface{}
type Item map[string]interface{}

// Where
// Alias of []map[string]interface{}
type Items []map[string]interface{}

// Alias of map[string]interface{}
type Where map[string]interface{}

// Enviroment: 0, 1, 2, 3
var Env int8 = 0

// Get scan variables
Expand Down

0 comments on commit cea1e6d

Please sign in to comment.