Laravel プログラミング

LaravelDB.comでCRUD自動生成

 

こんにちは。ふわふわしょうちゃんです。

 

皆さんは、システム開発をする場合、プロジェクト毎に、コードをゼロから書いているでしょうか?

僕は、面倒くさがり屋なので、システム開発の基本的なCRUDですら、自動生成したいタイプです。

 

今日は、マイグレーションファイルを自動生成、そして、BETAではありますが、CRUDの自動生成までしてくれる、「LaravelDB.com」を使用してみました。

自動生成ツールは、使い方さえ覚えてしまえば、迅速に開発を進めることが出来るので、是非、試してみてください。

 

 

LaravelDB.comの使い方

LaravelDB.comの使い方ですが、WEBサービスを開発した方が、操作説明をしてくれている記事がありましたので、そちらを参考する方が良いと思います。

LaravelDB.com

https://laraveldb.com/

LaravelDB,com操作説明サイト(WEBサービスを開発した方)

https://qiita.com/daisu_yamazaki/items/9f0dd73553367f8077f0

丁寧に1から説明してくれているので、逆に全て読むのに疲れると思います

GUIですので、実際に使ってみながら、わかりにくい所があったら、都度探して読む感じが良いと思います。

 

LaravelDB.comのログイン方法

始めての方は、Googleアカウントがあれば、すぐにログインできます。

Googleアカウントが無い方は、作っちゃいましょう。何かと便利です。

赤枠をクリックして、Googleアカウントでログインします。

少し時間が掛かります。十秒いかないぐらいでしょうか。

 

ログイン後の画面です。

メインメニューを確認してください。わかりやすいですよね。

 

テーブルの作成方法

「テーブル追加」を一度クリックすると、「テーブル配置」に変わります

そのまま、白いマス上をクリックするだけで、テーブルが配置されます。

簡単です。

そして、テーブルをダブルクリックすることで、名前変更ができたりします。

カラム追加に関しては、対象のテーブルを選択した状態で、メインメニュー内の「列を追加」で出来ます

 

とりあえず、触ってみましょう。

 

次は、僕の方で、ガチャガチャ触りつつ、ER図を作って保存したものがあるので、ロードしてみます。

 

作成したER図をロードする

作成したER図を保存/ロードするのも、簡単です。

右のメインメニューから「[Data]セーブ/ロード」を選択すると、画像左のポップアップが表示されます。その赤枠内で、データを保存するか、ロードするか選択できます

 

今回は、データをロードするので、「クラウドデータ一覧」を選択します。

その後、すぐ下の「-- Data List --」を選択して、対象リストの中から選択します

 

無事にロードされました。

 

マイグレーションファイルの出力と配置

ER図を作成したら、実際にマイグレーションファイルを出力してみましょう。

 

データのロードと同様で、「[Data]セーブ/ロード」内で、マイグレーションファイルを出力できます

「ER図から出力」内で、二つボタンがあります。左側のボタンが、マイグレーション、右側のボタンが、自動コード生成ですね。

どちらも利用することで、大分、作業効率ができると思います。

 

右のチェックボックスは、リレーションを行うかどうかの選択です。必要に応じてチェックを付けてください。

目的のボタンをクリックすると、確認画面が表示されます。

「Yes」を選択することで、マイグレーションファイルが出力できます。

 

ダウンロード後、圧縮ファイルになっているので、解凍して、開いてください。

後は、出力したマイグレーションファイルを、プロジェクトフォルダ以下に配置することで、利用可能になります

 

マイグレーションコマンドを実行する前に、データベース自体の生成とLaravelのDB設定は済ませておいてください。

LaravelのDB設定などはコチラを参考にしてください。

 

マイグレーションファイル配置後、コマンドプロンプトにて、マイグレーションコマンドを実行してください。

 command
php artisan migrate

 

気を付けたいことは、テーブル名やカラム名において、誤字脱字ですね。

僕の場合、リレーションのarticle_idとかのスペルミスなどで、上手く実行できず、エラーに少し手間がかかりました。

 

そのような場合、ER図を修正して、再度、マイグレーションファイルを出力する方が手っ取り早いです。

 

CRUDファイルを配置

マイグレーションファイルと同様に、CRUDファイルも出力できます。

出力の仕方は、マイグレーションファイルと同様です。

 

圧縮フォルダを解凍して、任意の場所にCRUDファイルを手動で配置してください

 

この辺り、Laravelのディレクトリ構造を、ある程度把握しておかなければならないので、

やはり、フレームワークを利用する際には、必ず勉強しておかなければならない所だと気付かされます。

 

ちなみに、フレームワークの把握の仕方については、以下を参考にしてください。

Laravelのディレクトリ構造が把握できていれば、CRUDファイルの配置も簡単です

 

配置後、ブラウザで確認してみました。

welcome.blade.php は自動生成されたものを入れ替えてください。

CRUDしたテーブル名のリンクが出来ているのが確認できます。

 

試しに、Articlesのリンクを開いてみます。

一覧画面が表示されました。「Add New」とかで新規作成ができるような感じになっていますね

これだけ、自動生成してくれるのであれば、大分と作業効率の向上が期待できますね。

 

そして、テーブル図を分かりやすくブラウザ上で確認できます。

 

HOME画面の「[DEMO]CheckTable!!」のリンクを開いてください。

テーブル図も視覚的にわかりやすいです。

これを一から作ろうと思ったら、結構、手間ですよ。ありがたや。

 

良いなと思った点

実際にLaravelDB.comを利用してみて、良いなと思った点を挙げたいと思います。

  • ER図をクラウド上で保存/ロードできる
  • 視覚的にも、EXCELなんぞと違く、わかりやすい
  • BETAだとしても、CRUD自動生成は有難い
  • 特定のユーザーにER図を共有できる

あたりでしょうか。何はともあれ、ローカルでER図を持つのではなく、クラウド上で視覚的にわかりやすく、ER図を貯めておけることは、大きなメリットだと感じました。

 

そして、新たに、ER図が必要になった時に、ゼロから設計する必要はなく、「あー、あの部分の設計使いまわしできそうだな」といった時に、ER図をロードして、カスタマイズを加えながら、新規に保存してしまえば、DB設計も大分と楽になるのではないでしょうか。

 

始めてLaravelDB.comを触りながら、そんなことをイメージできたので、僕は今後、Laravelで実装する必要がある時は、LaravelDB.comをガンガン利用していきたいと考えています。

 

気になる点

やはり、実際触ってみて、気になった部分もあります。

 

CRUD自動生成は、あくまでもBETAです。なので、やはり、コードの見直しは全て必要だと感じています

自動生成されたコードの部分を確認してみました。

コントローラ内の一つのアクションメソッドを見てもらってもわかるように、インデントが上手くできていなかったり、空白と、タブが混じってしまっていたりします

この現象は、自動生成したファイルに全て当てはまるので、全てのコードを見直す必要はあります。

 

コードは、一瞬で汚くなるもので、この小さなゴミがすぐに肥大化しますので

個人的に、大きく気になったのは、コード自動生成の所のみです。それを差し引いても、ゼロから作るのと、自動生成してくれるのは、全然負荷が違うので、大変助かります。

 

そして、ゼロからコードを考える必要もありませんし、不要な部分も、削除すれば良いだけです。

 

あとは、「LaravelDB.com自体の停止があった場合」困りますね。

あまりツールに依存してしまうと、何等かの原因で、サービス運用できなくなってしまったなどの場合、クラウドに保存していたER図も全て無効になってしまうので、流石に困ります。

この辺りは、どのサービスでも同様ですけどね。

 

個人レベルのサービスになってくると、開発者のさじ加減一つで変わりますので、停止の可能性がより高くなるという感じでしょうか。

まあ、常にマイグレーションファイルが最新であれば、大丈夫なんですけども。

 

まとめ

まとめとしては、LaravelDB.comは、積極的に使っていきたいサービスです。本当にとても便利です

僕は、Cakephpの方が使い慣れているので、bake(CRUD自動生成)コマンドぐらい、Laravelにデフォルトで実装されれば良いなと感じています。

 

DRY(Don't Repeart Yourself)の法則があるように、繰り返し同じようなコード記述をしていても、非効率です。

自動で出来ることは、さっさと自動で終わらせて、自動でできない処理コードを考える時間を確保したいものですね。

 

まだ、使ったことのない人は、是非、試してみましょうー。

 

では、今回はこの辺で。

 

-Laravel, プログラミング
-

© 2021 FuwaFuwaShoChan BLOG