docs: update README

This commit is contained in:
zhuyasen
2025-03-02 20:07:58 +08:00
parent 5110a00f66
commit eaafdff62d
31 changed files with 235 additions and 194 deletions

View File

@@ -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
```