MySQLWorkbenchでER図を作ってそのままデータベースにDDLで流し込む
やりたこと
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が生成される。
上記で解決して無事にDDL実行が完了した。
感想
MySQLを利用するなら、ER図はMySQLWorkbenchでの作成が一番便利だと思う。
参照
Author And Source
この問題について(MySQLWorkbenchでER図を作ってそのままデータベースにDDLで流し込む), 我々は、より多くの情報をここで見つけました https://qiita.com/ryochin_sky/items/bab994fb9ea42b68a922著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .