0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQLWorkbenchでER図を作ってそのままデータベースにDDLで流し込む

Posted at

やりたこと

MySQLWorkbenchでER図を作ってそのままデータベースにDDLで流し込みたい。

経緯

今までER図を書くときはとっかかりが簡単だったのでCacooを使っていたが、その後DDLを書き起こすのが面倒くさいなと思ったので、MySQLWorkbenchで描いてみたらとても良かった。

さらにDDLを実行するところで、MySQLとMySQLWorkbenchのバージョン違いによって少しハマったので、備忘として記載。

環境

  • MySQL5.7.26
  • MySQLWorkbentch8.0.13

手順

基本的なDDL流し込みは以下の手順通り、フォワードエンジニアリングを行えば良い。
https://ti-tomo-knowledge.hatenablog.com/entry/2018/05/21/172936

ただし、最後のDDL実行で、以下のエラーが出てしまった。

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VISIBLE,   INDEX `fk_xxx1_idx` (`xxx_id` ASC) VISIBLE,   INDEX `fk' at line 9;

原因は生成されたINDEXを作る箇所のVISIBLEだった。

INDEX `fk_xxx1_idx` (`xxx_id` ASC) VISIBLE,

これはMySQL8.0からの仕様のため、対象のMySQLが5.7のためエラーとなった。

こちらを発生させないためには
MySQLWorkbench > Preferences > Modeling > Default Target MySQL Versionを該当のバージョンにしてから再実行すると、そのバージョンとして動作するDDLが生成される。

image.png

上記で解決して無事にDDL実行が完了した。

感想

MySQLを利用するなら、ER図はMySQLWorkbenchでの作成が一番便利だと思う。

参照

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?