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

【 Laravel 】「Laravel DB Designer」で設計から実装まで「ER図←→Migration」相互変換!!vol2

2019/11/25 内容を更新

この記事を読み終わったら → ”Laravel DB Designer” の使用方法の記事も書きました
https://qiita.com/daisu_yamazaki/items/1cb5987cc6d1008def82

『Laravel DB Designer』

『Laravelを使う人を幸せにしたいという思いから作った』

【 URL 】
https://laraveldb.com

ER図を作成し、Migrationファイルを生成したり、
逆にMigrationファイル → ER図を生成したり出来ます。
新規作成、設計の見直しからの再作成、を目的にした仕様なので「カラム・型」変更のMigrationには対応していません。DB作り直すイメージで使用するとベストですね。

主機能

  • ER図作成 (対応している”型”はページ下部に表記)
  • ER図作成 → Migrationファイルを生成
  • ER図作成 → チェック用クエリービルダーを自動生成
  • Migrationファイル → ER図を生成(リバース)

【それと使用時のPOINT】

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

2)
以下Migrationファイル 「 Schema::create 」のみ現在は可能

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

3)
外部キー(使った場合)親子の順番でMigrationファイルを選び、Migrateしなくてはいけない

4)
ダウンロードしたMigrationファイル(ZIP)をそのまま再アップロードは出来ません
一度解凍してからZIPしてアップロードしてください。(PHPでの圧縮アルゴリズムの問題かも)

5)
ZIPダウンロード時にChromeに危険ファイルと何故か判断され警告が出てしまう。Localでは問題ないが、早期解決したい。 いつの間にか解決して居た。

◇ER図のSave/Load、Migrationファイル作成/ER図変換

対応カラム一覧

tinyIncrements
mediumIncrements
smallIncrements
bigIncrements
increments
mediumInteger
smallInteger
bigInteger
tinyInteger
integer
enum
decimal
double
float
geometryCollection
geometry
jsonb
json
char
longText
mediumText
text
multiLineString
lineString
string
multiPoint
multiPolygon
point
polygon
softDeletes
binary
nullableTimestamps
timestamps
dateTime
timestamp
time
year
date

今後の予定

・ 外部キーの親/子の関係でMigrationファイル名(年月日時分秒)を変更する
 ※親を先にMigrateしないとエラーが起きるため
→ 2階層までは対応
・ Schema::create 以外の対応もしたい
・ 型もいくつか抜けてるので対応してみたい → テストで使ってもらってたがよく使われるものは用意されており、現状のまま運用していくで問題無さそう
・ これから出てくるであろうバグを修正
  12/21 ingeger,intの桁数がMigrationに記載されるとMigrateエラーになるので、Migrationには書き込まないよう修正
  12/15 リバース機能で「create_users」と「create_password_resets」の2ファイルは読み込まないようにアップデート(Laravel make:Auth関連のファイルに影響すると考えた)
・ このアプリでLaravel JP Conference に出れたらいいな → 11/23応募した

最後に、
使って良かった〜などあれば是非、ご連絡ください!
モチベーション上がって、更に良いアップデートしていくと思いますので(^^)
Twitter:@ErdLaravel

※検証ブラウザ:Chrome

この記事を読み終わったら → ”Laravel DB Designer” の使用方法の記事も書きました
https://qiita.com/daisu_yamazaki/items/1cb5987cc6d1008def82

Why not register and get more from Qiita?
  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