본문 바로가기
데이터베이스/Erwin

[ERWin] Logical 명으로 Comment 넣기 (최종수정 2013/10/31)

by 언제나초심. 2013. 10. 31.
반응형

Logical 명으로 Comment 넣기



Oracle 용


%ForEachTable() {
    COMMENT ON TABLE %TableName IS '%EntityName';

    %ForEachColumn() {
        COMMENT ON COLUMN %TableName.%ColName IS '%AttName';
    }
}



mysql 용


%ForEachTable() {
    ALTER TABLE %TableName COMMENT = '%EntityName';
    %ForEachColumn() {
        ALTER TABLE %TableName CHANGE COLUMN %ColName %ColName %ColumnDatatype COMMENT '%AttName';
    }
}



1. 위의 코드를

[ERWin Physical 모드에서]

  (1) [Database] > [Pre & Post Scripts] -> [Model-Level] 을 선택 후

  (2) 팝업된 화면의 [Code] 탭에 입력



2. 생성된 쿼리문 확인

Engineering 시에 Schema 옵션에서 [Post-Script] 를 선택하고 [Generate] 혹은 [Preview] 를 선택하면 

Comment 스크립트가 생성된다.





Mysql 에서 Auto Increment 처리를 해야 할 경우


위의 방식에서는 auto_increment 를 처리하는 데 문제가 생긴다. 


auto_increment 옵션을 빼버리는 것 같다. 이 경우에 null 옵션이 들어갈 위치에


auto_increment 라는 명칭이 들어가면 되므로 다음과 같이 처리를 하면 된다. 



%ForEachTable() {
    ALTER TABLE %TableName COMMENT = '%EntityName';
    %ForEachColumn() {
        %Decl(NullOption)
        %If(%==(%Substr(%ColumnNullOption,1,8),IDENTITY)){
            %=(NullOption,AUTO_INCREMENT)
        }
        %Else {
            %=(NullOption,%ColumnNullOption)
        }
        ALTER TABLE %TableName CHANGE COLUMN %ColName %ColName %ColumnDatatype %:NullOption COMMENT '%AttName';
    }
}
반응형