![codecov](https://camo.githubusercontent.com/43089fa62dac0a514515d03debce2de3343416e8a317c5016c7cd4ba736cfb49/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/5ecbd9860c7c907ffb0d857ddff5c68f181063abc6ba8e97eb52f457de76481d/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/ce947ec62491f6126234c750cc2d561c71d5cd07e1ee5fd5183472710278f8f8/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