![codecov](https://camo.githubusercontent.com/5f6954f401727b1f1ffa79d1ed11cf764f05da40de811e539fc1e40742d9df81/68747470733a2f2f636f6465636f762e696f2f67682f766963746f7269656e2d612f67656e2d6d6f64656c2f6272616e63682f6d61737465722f67726170682f62616467652e737667)
- generate struct file by DB tables
- one table has many struct
- persist mappers from table column to struct attributes
go get -u github.com/DaoYoung/gen-model
- run
init
command, you will see .gen-model.yaml
cd ${your_project_dir}
gen-model init
- change
mysql.*
gen.searchTableName
value in .gen-model.yaml
, then run
- create local mappers for struct
gen-model create --persist=local-mapper
# it will fail, when run after step 2, because struct file is already exist, it's avoid to cover whole file. you can set `-f=true` to cover it.
gen-model create --persist=local-mapper -f=true
![wHZ6SO.md.gif](https://camo.githubusercontent.com/d93f26a8cdaebdbfea000f90f3058963c0665c3964feef8058dd6bfa1ebccc2d/68747470733a2f2f73312e617831782e636f6d2f323032302f30392f32312f77485a36534f2e6d642e676966)
- rename mapper file from
${struct}FieldMapper.yaml
to ${struct}VOFieldMapper.yaml
, and delete one line after fields
gen-model create --source=local-mapper --forceCover=true --modelSuffix=VO
# it will generate `${struct}VO.go`
![2.gif](https://camo.githubusercontent.com/5e51638bc998c7420cc4e1b9cec90aa1fefb859271ea3a0bcd565d7117a95069/68747470733a2f2f692e6c6f6c692e6e65742f323032302f30392f32312f746f6d465457475355794b5a4e72612e676966)
- persist mapper data in database just use
db-mapper
instead of local-mapper
.
gen-model create --persist=db-mapper --forceCover=true
# it means, you can manage struct for multiple project.
# this require mysql `Create` privilege
- see what gen-model can do.
gen-model -h
gen-model create -h # commend `create` help