背景: python-django プロジェクトは go-gin でリファクタリングされており、データベースはすでに存在し、gin では gorm が使用されているため、mysql データベースのテーブル構造を orm モデルに転送するツールが必要です。
前提: 国内から github にアクセスするには安定したプロキシが必要なため
Goproxy.com は これをお勧めします
1.プロジェクトパスにgen-modelモジュールをダウンロードします。
-u github.com/DaoYoung/gen-model を取得してください
# GOBIN ディレクトリに gen-model.exe が存在します。
# インストールが失敗した場合 --: https://github.com/DaoYoung/gen-model ソース コードをダウンロードし、gen-model と入力して、手動でインストールに進みます
使用法
- コマンドを実行する
init
と、表示されます.gen-model.yaml
cd ${your_project_dir}
gen-model init
mysql.*
gen.searchTableName
の値を 変更して.gen-model.yaml
から実行します
gen-model create
- 構造体のローカルマッパーを作成する
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
- マッパー ファイルの名前を から に変更し
${struct}FieldMapper.yaml
、${struct}VOFieldMapper.yaml
フィールドの後の 1 行を削除します
gen-model create --source=local-mapper --forceCover=true --modelSuffix=VO
# it will generate `${struct}VO.go`
- データベース内のマッパー データを永続化するには、
db-mapper
の代わりに 使用するだけですlocal-mapper
。
gen-model create --persist=db-mapper --forceCover=true
# it means, you can manage struct for multiple project.
# this require mysql `Create` privilege
- gen-model で何ができるか見てみましょう。
gen-model -h
gen-model create -h # commend `create` help