公開先GitHub
ermaster-to-migration (this link opens in a new window) by ShinyaTomozumi (this link opens in a new window)
Excel file created by “ERMaster” is output as a Migration file.
ツール概要
サーバーサイドではデータベース操作は必須となっております。
プログラムでデータベースを扱う上で、「Laravel」の「Eloquient」等のような、ORMファイルを作成して使用する事で、楽にデータベースの操作が行えるようになります。
ORMファイルはテーブルごとに作成する事が、多いですが手動でテーブルごとのファイルを作成すると時間がかかります。
そこでデータベースの設計ツールである「ERMaster」から書き出したエクセルファイルを、ORMファイルに書き出すツールとして作成しました。
これにより設計から開発する場合に、工数をかけず正確に実装する事が可能となります。
また「Laravel」のデータベースを構築するMigrationファイルも一緒に作成します。
開発環境
本ツールは以下のプログラムで作成しております。
- Python 3.9
またエクセルを読み込むために以下のライブラリをインストールしてください。
$ pip install openpyxl
$ pip install pyexcel
$ pip install pyexcel-xls
$ pip install pyexcel-xlsx
$ pip install pyexcel-xlsxw
使い方
まずは上記のGitHubからソースコードをCloneします。
次に「ERMaster」を使用してデータベースの設計を行います。
「ERMaster」の使用方法は別の記事で記載するので、そちらをご参照ください。
テーブルの設計が終わりましたら、「エクスポート」でエクセルに出力します。
エクセルを出力して、先ほどCloneしたプログラムを実行します。
実行方法としてWindowsであれば「PowerShell」、Macであれば「ターミナル」を使用します。
下記のコマンドは「Laravel」の「MySQL」での使用例となります。
$ python ./er_master_to_migration/er_master_to_migration.py -i [出力したエクセルファイル名] -sql mysql -project laravel -date "20230124"
実行を完了すると「Entities」と「ExtEntites」をフォルダにファイルが書き出されます。
以下のようにして使用することでデータを取得することができます。
「Laravel」の場合では、ライブラリとして「barryvdh/laravel-ide-helper」と「doctrine/dbal」を組み合わせて使用することで、テーブル内のカラムのドキュメンテーションを作成して、「PhpStorm」などで使用した場合に、コードの補完を行ってくれるようになります。
このツールを使用して開発の手助けになればと思います。