Pages

PowerDesigner 自動編號為 int

Jun 5, 2014
在 PowerDesigner 設計 CDM 時,若選擇資料型別為 Serial 時,選擇 SQL Server 資料庫 產生 PDM ,其欄位型別會是 Numeric。若想將調整其型別為 int 的話,參考以下作法。

異動PDM,保留LDM

先說明這作法 0 分。
產生 PDM 後,直接在 PDM 上修改資料型別。
爾後從 CDM 轉 PDM 時,顯示 [Merge Models] 視窗時,不要勾選這個欄位。
image
就說這作法 0 分吧!

修改 DBMS (XDB)

PowerDesigner 從 CDM 轉 PDM 時,會參照所指定資料庫的 DBMS (副檔名 XDB),進行各種資料型別及相關邏輯的對應。
因此要將 Serial 轉為 int ,只需修改 SQL Server 的 DBMS 即可達成。
首先須以系統管理者身分開啟 PowerDesigner,從選單 [Tools] > [Resources] > [DBMS]
image
選擇 [Microsoft SQL Server 2008],點擊兩次
image

從 DBMS 視窗左側 > [Script] > [Data Type] > [AmcdDataType]
找到 Internal = NO 的資料列(如下圖第32筆),將其 Physical Model 的值從 numeric 修改為 int
image
修改後儲存。
再重新轉 PDM時,要選擇上述修改過的 DBMS
image

附註

1. Date, Time, DateTime 預設均轉為 DateTime,其實可以按此法自行修改設定的


2. 異動 DBMS 務必先做備份
image
DBMC 檔案儲存在 C:\Program Files (x86)\Sybase\PowerDesigner 16\Resource Files\DBMS

3. 參考資料