首先寫在最前面的,我只想說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的因爲字段顯示了。
看到這裏可能你會覺得怎麼還是要自己寫中文,沒辦法,要不然我怎麼說這玩意難用呢?或者你有其他更好的辦法麻煩告訴我。就這樣了。
關注公衆號獲取更多內容,有問題也可在公衆號提問哦:
強哥叨逼叨
叨逼叨編程、互聯網的見解和新鮮事