Help us understand the problem. What is going on with this article?

【 Laravel 】「Laravel DB Designer 」を便利に使うための知識 ”使い方・仕様 ”について解説 Vol.3

今回は" Laravel DB Designer "の使い方・仕様について書きました(vol3)

『Laravelを使う人を幸せにしたい』という思いから作った「Laravel DB Designer」
(vol2の続きです)[https://qiita.com/daisu_yamazaki/items/92dc3cc599a264c3fb0f]

e.jpg

https://laraveldb.com
※英語圏対応済み

主機能

  • ER図作成 → 対応している”型”はvol2記事の下へ
  • ER図作成 → Migrationファイルを生成
  • ER図作成 → チェック用クエリービルダーを自動生成
  • Migrationファイル → ER図を生成(リバース)再設計可能

テーブル名

テーブル名の頭に"m_"を付けた場合(Master:都道府県のように最初から用意するテーブル)

  • 「 m_テーブル名 」とすると" $table->softDeletes(); "は追加されません

  • 「 m_テーブル名 」とすると" $table->timestamps(); "は追加されません

テーブル名の頭に"t_"を付けた場合(Transaction:ユーザーの入力でデータが追加されていくテーブル)

  • 「 t_テーブル名 」とすると" $table->softDeletes(); "が自動で追加されます

  • 「 t_テーブル名 」とすると" $table->timestamps(); "が自動で追加されます

テーブル名の頭に"t_"も"m_"も付けない場合(接頭辞を付けない場合)

  • "m_" や "t_"を付けなければ " $table->softDeletes(); "が自動で追加されます

  • "m_" や "t_"を付けなければ "$table->timestamps(); "が自動で追加されます

「ER図のSave/Load」機能

ER図データのLoad/Save

Save/Load機能 機能詳細
クラウドへ保存 Web上のDB(Firebase)に保存します。
クラウドデータ一覧 自身がWebに保存したデータ一覧
ブラウザに保存 LocalStorageに一時保存
ブラウザデータ一覧 自身がlocalに保存したデータ一覧

上記の「データ一覧」選択後、「 -- Data List -- 」の選択肢が表示されます。
そこに表示されるデータ項目を選択するとER図が復元します。

ER図から出力(外部出力)

Save/Load機能 機能詳細
ER図からSQLを作成 現在表示しているEQ図からMySQLテーブルを作成するSQL文を作成
Laravel(Migration) 現在表示しているEQ図からLaravel専用のMigrationファイルをZIP圧縮して一式ダウンロード

子テーブルへの外部キー制約が記載されてるMigrationファイルは、
「 5分遅らせた 」ファイル名が生成しています(現時点)。
理由)親テーブルをMigrateしてから子テーブルをMigrateしないとエラーになるため最低限の対応を追加しました。
※子の子テーブル等の外部キー制約は自身で順番にMigrateの必要があります!

Reverse ERD

フォルダにMigrationファイル(Schema::createのみ)一式集めZip圧縮したファイルをアップロードすることで、ER図へ変換(リバース)することが可能です。

Migrationファイル一式をZIP圧縮 → [ Reverse >>> ERD ]ボタンでアップロード
アップロード完了するとER図が表示されます。

Migration(ZIPファイルに一式纏めて) 機能詳細
[ Reverse >>> ERD ] Migrationファイル一式をフォルダに入れて、ZIP圧縮したファイルをアップロード

1.注意
以下Migrationファイル 「 Schema::create 」のみ現在は可能
※ Schema::create以外は対応検討中

Schema::create("テーブル名", function (Blueprint $table) {...}

2.注意
「Laravel DB Designer」からZIPファイルをダウンロードしたファイルをそのままアップロードは出来ません。必ず、一度解凍したものをZIP圧縮しなおしてuploadしてください。

今回vol3のまとめ

今回は「 Laravel DB Designer 」の操作方法とメイン機能である「 Save/Load 」と「 出力 」の解説をさせていただきました。まだまだUXの部分には力をいれられてないので、こういった使用説明が必要だと思い書きました。

また、シンプルな記法(ベーシックな?)をベースに仕様/処理を考えたため、複雑な、又はイレギュラーな記述が入ってるケースでは思った通りの出力にならないこともあるかも知れません。しかし、1から全て書いて行くよりは、楽になると思っています。また、設計後に再度ER図からのやり返しができるので、そこも利点だと思います。
少しでもご理解いただき使用していただければと存じます。

また、説明が抜けてるところがあるかもしれません、随時更新、内容によっては新しく解説記事を投稿して行こうと思います。(現在はMySQLのみ対応:要望が多ければPostgres,SQLite等の対応も検討する予定です)

『Laravelを使う人を幸せにしたい』という思いから作った
Laravel DB Designer https://laraveldb.com
今後とも宜しくお願い致します。

以上、今回はここまで。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away