We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
os: fedora 38 linux: 6.5 go: 1.20 github.com/dolthub/go-mysql-server v0.17.0 github.com/go-sql-driver/mysql v1.7.1 github.com/jmoiron/sqlx v1.3.5
system timezone: +08:00
code:
package main import ( "fmt" "time" sqle "github.com/dolthub/go-mysql-server" "github.com/dolthub/go-mysql-server/memory" "github.com/dolthub/go-mysql-server/server" "github.com/dolthub/go-mysql-server/sql" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "github.com/wencan/fastrest/restutils" ) var ( dbName = "mydb" address = "localhost" port = 3306 ) type ProviderBase struct { // ID id ID int64 `json:"id" db:"id"` // Name 名称 Name string `json:"name" db:"title"` // Remark 备注 Remark string `json:"remark" db:"remark"` // Deleted 逻辑删除标志。0为未删除。1为已删除 Deleted bool `json:"deleted" db:"deleted"` // CreateTime 创建时间 CreateTime time.Time `json:"create_time" db:"create_time"` // UpdateTime 更新时间 UpdateTime time.Time `json:"update_time" db:"update_time"` } func main() { ctx := sql.NewEmptyContext() db := memory.NewDatabase(dbName) db.EnablePrimaryKeyIndexes() provider := memory.NewDBProvider(db) engine := sqle.NewDefault(provider) config := server.Config{ Protocol: "tcp", Address: fmt.Sprintf("%s:%d", address, port), } s, err := server.NewDefaultServer(config, engine) if err != nil { panic(err) } go func() { err = s.Start() if err != nil { panic(err) } }() defer s.Close() dbx, err := sqlx.Open("mysql", "tcp(localhost:3306)/mydb?parseTime=true&loc=Asia%2FShanghai") if err != nil { panic(err) } defer dbx.Close() var now time.Time err = dbx.GetContext(ctx, &now, `SELECT NOW()`) if err != nil { panic(err) } fmt.Println(now) _, err = dbx.ExecContext(ctx, `CREATE TABLE provider_base ( id bigint NOT NULL AUTO_INCREMENT COMMENT 'id', title varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '名称', remark varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注', deleted tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标志。0为未删除。1为已删除', create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='供应商';`, ) if err != nil { panic(err) } _, err = dbx.ExecContext(ctx, `INSERT INTO provider_base (title, remark) VALUES (?, ?)`, "第一行", "第一行的备注") if err != nil { panic(err) } var providers []*ProviderBase err = dbx.SelectContext( ctx, &providers, `SELECT id, title, remark, deleted, create_time, update_time FROM provider_base`, ) if err != nil { panic(err) } fmt.Println(restutils.JsonString(providers)) }
output:
2023-10-28 10:23:46.426343 +0800 CST [{"id":1,"name":"第一行","remark":"第一行的备注","deleted":false,"create_time":"2023-10-28T02:23:46+08:00","update_time":"2023-10-28T02:23:46+08:00"}]
expected:
2023-10-28 10:23:46.426343 +0800 CST [{"id":1,"name":"第一行","remark":"第一行的备注","deleted":false,"create_time":"2023-10-28T10:23:46+08:00","update_time":"2023-10-28T10:23:46+08:00"}]
The text was updated successfully, but these errors were encountered:
No branches or pull requests
os: fedora 38
linux: 6.5
go: 1.20
github.com/dolthub/go-mysql-server v0.17.0
github.com/go-sql-driver/mysql v1.7.1
github.com/jmoiron/sqlx v1.3.5
system timezone: +08:00
code:
output:
expected:
The text was updated successfully, but these errors were encountered: