ERD 정렬
Format -> Preference -> Layout 탭 -> Layout Entire Diagram
1. ERWIN 실행
2. Model Type이 반드시 Physical이여야 한다.
3. Tools -> Forward Engineer / Schema Generation
4. 아래의 버튼중 Report를 선택하고 sql을 저장해 주면 된다.
Physical 에서 Database
Pre & Post Scripts > Model-Level
Code 탭에서 NEW
---
mySQL
%ForEachTable()
{
alter TABLE %TableName COMMENT = '%EntityName';
%ForEachColumn()
{
ALTER TABLE %TableName CHANGE COLUMN %ColName %ColName %AttDatatype %AttNullOption COMMENT '%AttName';
}
}
----
Oracle
%ForEachTable()
{
COMMENT ON TABLE %TableName IS '%EntityName';
%ForEachColumn()
{
%Switch('%ColumnComment')
{
%Choose(''){COMMENT ON COLUMN %TableName.%ColName IS '%AttName';}
%Default {COMMENT ON COLUMN %TableName.%ColName IS '%ColumnComment';}
}
}
}
Forward Engineer - Schema Generation 에서 SQL 생성시 Schema 옵션의 Post-Script에 체크해야 한다.
PK 명 변경 스크립트
Tools > Names > Model Naming Options 에서 Name Mapping Tab 선택
ObjectType 이 Key Group to Index 인 Macro Name (%KeyName)을 아래와 같이 변경한다.
%If(%==(%IndexType,PK)){%TableName_PK}%Else{%IF(%==(%substr(%IndexType,1,2),IF)) {%TableName_%substr(%IndexType,2)}}
아니면 %KeyType_%TableName
FK 는 relationship을 %Child_FK 넣어준다.
간단하게 %TableName_PK 으로 설정가능.
'Databases' 카테고리의 다른 글
테이블 내의 다른 필드에 데이터 복사하기 (0) | 2014.11.13 |
---|---|
[MS-SQL] DB Table 소유자변경 (0) | 2014.06.08 |
데이터 모델링 (0) | 2014.06.07 |
max_allowed_packet (0) | 2014.03.12 |
mysql 5.x old_passwords관련 (0) | 2014.03.04 |