test database quest tablemysql> SHOW COLUMNS FROM quest;
+-----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+-------+
| id | int(11) | NO | PRI | 0 | |
| name | text | YES | | NULL | |
| detail | text | YES | | NULL | |
| create_at | datetime | YES | | NULL | |
+-----------+----------+------+-----+---------+-------+
4 rows in set (0.00 sec)
package main
import (
"fmt"
)
//go:generate goma gen --driver=mysql --user=admin --password=password --host=localhost --port=3306 --db=test
func main() {
fmt.Println("Hello goma!")
}
driver and dataSource params.
driver="mysql": sql driver (mysql or postgres)user="admin": database access user's namepassword="password": database access user's passwordhost="localhost": database hostport=3306: database portdb="test": database namepostgres dataSource params.
ssl="disable": Valid values for sslmode seegoma options params.
dao="dao": generate dao root dirssql="sql": generate sql root direntity="entity": generate entity root dir{
"driver": "mysql",
"user": "admin",
"password": "password",
"host": "localhost",
"port": 3306,
"db": "test"
}
package main
import (
"fmt"
)
//go:generate goma gen-config --path=config.json
func main() {
fmt.Println("Hello goma!")
}
path="config.json": config file path$ go generate
xxxxx1,xxxxx2: TableName├── dao
│ ├── asset_gen.go
│ ├── queryargs_gen.go
│ ├── xxxxx1_gen.go
│ └── xxxxx2_gen.go
├── entity
│ ├── xxxxx1_gen.go
│ └── xxxxx2_gen.go
├── main.go
├── config.json
└── sql
├── xxxxx1
│ ├── delete.sql
│ ├── insert.sql
│ ├── selectAll.sql
│ ├── selectByID.sql
│ └── update.sql
└── xxxxx2
├── delete.sql
├── insert.sql
├── selectAll.sql
├── selectByID.sql
└── update.sql