CLIツール
xxjwxc/gormt avatar
xxjwxc/gormt

gormtでMySQLスキーマからGORM用Go構造体を生成する

プロジェクト概要:データベースを golang 構造体に変換します。 mysql データベースから golang 構造体への gorm(v1/v2) ベースの変換ツール mysql データベースから golang 構造体を自動生成できます。

スター 2,422フォーク 362GoMIT

ひと目でわかる

これは何?
MySQLのテーブル、タグ、外部キー、補助関数をGoモデルへ変換するgormtの入力と出力を具体例で読む。
誰に向いている?
gormtでMySQLスキーマからGORM用Go構造体を生成するは、READMEに記載された機能と環境が自分の用途に合う場合に候補となります。適さない条件も同じ資料から切り分け、まず具体的なコマンド、対象ファイル、入力、出力を試験環境で確認してください。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 67 日前です。
何の言語で書かれている?
主に Go です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

xxjwxc/gormtを読む確認点1

gormtはMySQLデータベースからGoのstructを生成するツールで、GORM v1/v2を基盤にします。GUIは`./gormt -g=true`、コマンドモードは`./gormt -g=false`です。READMEは大文字Camel Caseの命名とJSON tagを説明しています。

この記述を確認する時は、xxjwxc/gormtの対象ファイルとコマンドを固定し、入力、出力、終了状態を分けて記録します。READMEにない性能や互換性は推測で補いません。確認点1では、成功した場合だけでなく、入力を変えた時の拒否やエラー表示も保存します。実行環境のOS、依存版、権限、ネットワーク条件も同じ記録に含め、別環境の結果を一つにまとめません。

確認点1の実行結果が素材の説明と異なる場合は、使用した版と環境差を残し、説明文を根拠なく一般化しないことが必要です。差分は対象ファイル名とコマンド単位で記録し、別の確認点へ混ぜません。成功した結果だけで導入可否を決めず、失敗時の戻し方と生成物の削除範囲も確認します。

xxjwxc/gormtを読む確認点2

導入例は`go get -u -v github.com/xxjwxc/gormt@latest`で、Releaseからのダウンロードも選べます。設定はカレントディレクトリの`config.yml`に置き、`out_dir`、`url_tag`、`language`、`db_tag`、SQL・関数・外部キー出力などを指定します。最新設定形式は`/data/config/MyIni.go`を確認するよう書かれています。

この記述を確認する時は、xxjwxc/gormtの対象ファイルとコマンドを固定し、入力、出力、終了状態を分けて記録します。READMEにない性能や互換性は推測で補いません。確認点2では、成功した場合だけでなく、入力を変えた時の拒否やエラー表示も保存します。実行環境のOS、依存版、権限、ネットワーク条件も同じ記録に含め、別環境の結果を一つにまとめません。

確認点2の実行結果が素材の説明と異なる場合は、使用した版と環境差を残し、説明文を根拠なく一般化しないことが必要です。差分は対象ファイル名とコマンド単位で記録し、別の確認点へ混ぜません。成功した結果だけで導入可否を決めず、失敗時の戻し方と生成物の削除範囲も確認します。

xxjwxc/gormtを読む確認点3

`--help`にはhost、database、password、port、outdir、foreign、fun、table_names、singularなどが出ます。例には`./gormt -H=127.0.0.1 -d=oauth_db -p=qwer -u=root --port=3306 -F=true`がありますが、認証情報をそのまま共有する実行方法ではありません。

この記述を確認する時は、xxjwxc/gormtの対象ファイルとコマンドを固定し、入力、出力、終了状態を分けて記録します。READMEにない性能や互換性は推測で補いません。確認点3では、成功した場合だけでなく、入力を変えた時の拒否やエラー表示も保存します。実行環境のOS、依存版、権限、ネットワーク条件も同じ記録に含め、別環境の結果を一つにまとめません。

確認点3の実行結果が素材の説明と異なる場合は、使用した版と環境差を残し、説明文を根拠なく一般化しないことが必要です。差分は対象ファイル名とコマンド単位で記録し、別の確認点へ混ぜません。成功した結果だけで導入可否を決めず、失敗時の戻し方と生成物の削除範囲も確認します。

xxjwxc/gormtを読む確認点4

出力は主キー、unique、not null、index、unique index、foreign key関連をGORM属性として表現します。READMEの`user_account_tbl`例では`UserAccountTbl`、`UserInfoTblID`、関連struct、時刻型などを生成し、関数出力では主キー検索と関連行の取得を示します。

この記述を確認する時は、xxjwxc/gormtの対象ファイルとコマンドを固定し、入力、出力、終了状態を分けて記録します。READMEにない性能や互換性は推測で補いません。確認点4では、成功した場合だけでなく、入力を変えた時の拒否やエラー表示も保存します。実行環境のOS、依存版、権限、ネットワーク条件も同じ記録に含め、別環境の結果を一つにまとめません。

確認点4の実行結果が素材の説明と異なる場合は、使用した版と環境差を残し、説明文を根拠なく一般化しないことが必要です。差分は対象ファイル名とコマンド単位で記録し、別の確認点へ混ぜません。成功した結果だけで導入可否を決めず、失敗時の戻し方と生成物の削除範囲も確認します。

xxjwxc/gormtを読む確認点5

追加の型は`data/view/cnf/def.go`で拡張できます。ビルド例は`make windows`、`make linux`、`make mac`、または`go generate`です。WindowsでASCIIモデルを避ける注意と`CHCP 65001`、列コメントの`[@gorm default:'test']`や`[@fk tableName.columnName]`も記載されています。

この記述を確認する時は、xxjwxc/gormtの対象ファイルとコマンドを固定し、入力、出力、終了状態を分けて記録します。READMEにない性能や互換性は推測で補いません。確認点5では、成功した場合だけでなく、入力を変えた時の拒否やエラー表示も保存します。実行環境のOS、依存版、権限、ネットワーク条件も同じ記録に含め、別環境の結果を一つにまとめません。

確認点5の実行結果が素材の説明と異なる場合は、使用した版と環境差を残し、説明文を根拠なく一般化しないことが必要です。差分は対象ファイル名とコマンド単位で記録し、別の確認点へ混ぜません。成功した結果だけで導入可否を決めず、失敗時の戻し方と生成物の削除範囲も確認します。

xxjwxc/gormtを読む確認点6

既存MySQLのモデル雛形をGORMへ寄せたいGo開発者向けです。入力DBへの書き込み、生成コードの命名、v1/v2のタグ差、外部キーの結果を試験用DBで確認します。`./gormt --help`、隔離DB、固定した`out_dir`を使い、生成されたstructとSQLの対応を目視してから採用範囲を決めます。

この記述を確認する時は、xxjwxc/gormtの対象ファイルとコマンドを固定し、入力、出力、終了状態を分けて記録します。READMEにない性能や互換性は推測で補いません。確認点6では、成功した場合だけでなく、入力を変えた時の拒否やエラー表示も保存します。実行環境のOS、依存版、権限、ネットワーク条件も同じ記録に含め、別環境の結果を一つにまとめません。

確認点6の実行結果が素材の説明と異なる場合は、使用した版と環境差を残し、説明文を根拠なく一般化しないことが必要です。差分は対象ファイル名とコマンド単位で記録し、別の確認点へ混ぜません。成功した結果だけで導入可否を決めず、失敗時の戻し方と生成物の削除範囲も確認します。

編集部の結論

gormtでMySQLスキーマからGORM用Go構造体を生成するは、READMEに記載された機能と環境が自分の用途に合う場合に候補となります。適さない条件も同じ資料から切り分け、まず具体的なコマンド、対象ファイル、入力、出力を試験環境で確認してください。記載のない性能、互換性、運用保証は判断に含めません。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート