Erwin sql腳本反向建模,中英文映射model

首先寫在最前面的,我只想說Erwin反向工程真是難用。或者是我沒有搜到簡單的方法吧。總之,希望下面介紹的可以減少點你的工作量。

前言:一般來說Logical model顯示中文,Physical顯示英文。你可以想成,Logical model是邏輯實體,也就是字段中文評論備註,Physical model就相當於數據庫字段映射。

具體操作如下:

1、生成數據庫表創建腳本。這個就不多說了,navicat會用的話很簡單:

2、處理腳本:首先我試過,通過Erwin,用script反向工程生成model的話,如果導出來的創建腳本包含如下情況就會失敗:

  • 字段被`標記,如:`id`;
  • 字段帶Comment;
  • 腳本帶index;
  • 腳本帶類似這樣的語句:CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
  • 腳本帶類似這樣的語句:ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = 'demo表' ROW_FORMAT = Dynamic;

有帶上面這些的,別問,把相關的刪了就是了。字段被`標記的,把`改成雙引號就行。別問我爲什麼知道這些不行,因爲你逆向工程的時候會報錯。

3、Erwin開啓來,選擇Tool->Reverse Engineer

然後選Physical。別選Logical/Physical。如下

然後在新彈窗中選Script,選之前處理好的sql腳本:

之後,next,不報錯就會生成Physical的model了。

4、生成的model先別動,點擊Erwin左上角create model按鈕。新建一個Local/Physical的model

5、將原來創建的那個Physical的model的表複製,然後粘貼到新的這個Local/Physical的model裏面。你就會發現,切換到Local的視圖時,修改字段爲中文,不會影響到Physical的因爲字段顯示了。

看到這裏可能你會覺得怎麼還是要自己寫中文,沒辦法,要不然我怎麼說這玩意難用呢?或者你有其他更好的辦法麻煩告訴我。就這樣了。

關注公衆號獲取更多內容,有問題也可在公衆號提問哦:

 

強哥叨逼叨

叨逼叨編程、互聯網的見解和新鮮事

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章