mirror of
https://github.com/zhufuyi/sponge.git
synced 2025-12-24 10:40:55 +08:00
docs: update README
This commit is contained in:
@@ -1,59 +1,45 @@
|
||||
## sql2code
|
||||
|
||||
Generate code for different purposes according to sql, support generating json, gorm model, update parameter, request parameter code, sql can be obtained from parameter, file, db three ways, priority from high to low.
|
||||
`sql2code` is a code generation engine that generates CRUD code for model, dao, handler, service, protobuf based on sql and supports database types mysql, mongodb, postgresql, sqlite3.
|
||||
|
||||
<br>
|
||||
|
||||
### Example of use
|
||||
|
||||
Main setting parameters.
|
||||
|
||||
```go
|
||||
type Args struct {
|
||||
SQL string // DDL sql
|
||||
|
||||
DDLFile string // DDL file
|
||||
|
||||
DBDsn string // connecting to mysql's dsn
|
||||
DBTable string // table name
|
||||
|
||||
Package string // specify the package name (only valid for model types)
|
||||
GormType bool // gorm type
|
||||
JSONTag bool // does it include a json tag
|
||||
JSONNamedType int // json naming type, 0: consistent with the column name, other values indicate a hump
|
||||
IsEmbed bool // is gorm.Model embedded
|
||||
CodeType string // specify the different types of code to be generated, namely model (default), json, dao, handler, proto
|
||||
}
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
Generated code example.
|
||||
Generate code based on database table.
|
||||
|
||||
```go
|
||||
import "github.com/go-dev-frame/sponge/pkg/sql2code"
|
||||
|
||||
// generate gorm model code
|
||||
code, err := sql2code.GenerateOne(&sql2code.Args{
|
||||
SQL: sqlData, // source from sql text
|
||||
// DDLFile: "user.sql", // source from sql file
|
||||
// DBDsn: "root:123456@(127.0.0.1:3306)/account"
|
||||
// DBTable "user"
|
||||
GormType: true,
|
||||
JSONTag: true,
|
||||
IsEmbed: true,
|
||||
CodeType: "model"
|
||||
// generate model, dao, handler, service and protobuf code, supports database type: mysql, mongodb, postgres, sqlite3
|
||||
codes, err := sql2code.Generate(&sql2code.Args{
|
||||
DBDriver: "mysql",
|
||||
DBDsn: "root:123456@(127.0.0.1:3306)/account"
|
||||
DBTable "user"
|
||||
GormType: true,
|
||||
JSONTag: true,
|
||||
IsEmbed: true,
|
||||
IsExtendedAPI: false
|
||||
})
|
||||
|
||||
// generate json, model, dao, handler code
|
||||
codes, err := sql2code.Generate(&sql2code.Args{
|
||||
SQL: sqlData, // source from sql text
|
||||
// DDLFile: "user.sql", // source from sql file
|
||||
// DBDsn: "root:123456@(127.0.0.1:3306)/account"
|
||||
// DBTable "user"
|
||||
GormType: true,
|
||||
JSONTag: true,
|
||||
IsEmbed: true,
|
||||
CodeType: "dao"
|
||||
})
|
||||
// write code to file
|
||||
```
|
||||
|
||||
Generate table information based on database table, used for customized code generation.
|
||||
|
||||
```go
|
||||
import "github.com/go-dev-frame/sponge/pkg/sql2code"
|
||||
|
||||
// generate table information based on database table, supports database type: mysql, mongodb, postgres, sqlite3
|
||||
codes, err := sql2code.Generate(&sql2code.Args{
|
||||
DBDriver: "mysql",
|
||||
DBDsn: "root:123456@(127.0.0.1:3306)/account"
|
||||
DBTable "user"
|
||||
GormType: true,
|
||||
JSONTag: true,
|
||||
IsEmbed: true,
|
||||
IsExtendedAPI: true
|
||||
})
|
||||
|
||||
// generate customized code to file
|
||||
```
|
||||
Reference in New Issue
Block a user