ERWin Data Modeler에서 스크립트 생성 (MSSQL용) 본문
ERWin Data Modeler에서 스크립트 생성 (MSSQL용)
- 2021. 3. 3. 09:50
ERWin Data Modeler를 가지고 스크립트를 생성하기를 해보기로 한다.
사용될 프로그램 정식 명칭과 버전은 CA ERwin Data Modeler 이고 7.3.4.1822 버전이다.
ERwin으로 처음에 ERD를 생성할때 DB와 버전을 선택하기가 있다.
이 부분에서 추후 스크립트를 생성할때 해당 DB 에 맞는 스크립트가 생성이 되니
처음에 잘 선택을 해야만 한다.
일단 여기서는 MSSQL에 대한 스크립트를 생성해보도록 하겠다.
Logical/Physical 로 만들어진 파일을 가져와서 연다.
그리고 생성 쿼리 생성시 사용될 뒤에 스크립트를 등록을 해야하는데
아래와 같은 스텝으로 진행한다.
1. Physical 모델로 전환
2. 메뉴 > Database > Pre & Post Scripts .. 선택
3. 아래와 같이 뜨면 '신규' 아이콘 클릭하여 상단 행 추가
4. 추가된 행에 대해서 아래 표와 같이 입력
Name | Type | Generate As | Attach To New | Generate |
임의로 생성됨(수정 불필요) | Model Level | Post-Creation | UnCheck | Check |
5. 하단 code 탭에 하단의 스크립트를 추가 (다시 말하지만 MSSQL 기준 임)
%ForEachTable() {
exec sp_addextendedproperty 'MS_Description' , '%EntityName' , 'user' , 'dbo' , 'table' , '%TableName'
go
%ForEachColumn() {
exec sp_addextendedproperty 'MS_Description' , '%AttName' , 'user' , 'dbo' , 'table' , '%TableName' , 'column' , '%ColName'
go
}
}
6. close를 하면서 저장처리
이제 스크립트는 등록이 되었으니 실제로 쿼리 생성을 진행해보자.
(Physical 기준) 메뉴 > Tools > Forward Engineer > Schema Generation 선택 (아래 그램 참고)
하단과 같이 창이 뜬다.
일단 생성되는 디폴트 기준으로 우측에 선택이 되어져 있다.
우리는 이것을 수정해서 따로 저장을 추후에 할 예정이다.
나중에 다시 이 설정파일만 불러와서 바로바로 생성 하기 위함이다.
일단 테이블에 대한 부분만 생성을 할 예정이어서 다른 건 다 Uncheck를 하고
아래 이미지와 같이 Schema에 있는 'Post-Script'와 Table에 있는 'Create > Table' 만 선택한다.
'Post-Script' 는 이미 위에서 등록한 부분을 실행시키기 위함이다.
다 되었다면 실행시킬 준비는 끝난 것이다.
위에 이미지에서도 표시는 되었지만 'Preview...'는 생성 쿼리를 미리보거나 생성된 쿼리를
복사 또는 파일로 저장할 수 있다.
그리고 'Generate...' 은 해당 연결된 DB로의 실제 Object등을 생성하기 위함이다.
내 경우에는 'Generate...' 로 처리하려고 하면 직접 DB에 영향을 주는 부분 때문에 부담이 되고
또 알게모르게 필요없는 것들이 생성이 되어서 이걸로 잘 처리하지는 않는다.
그래서 'Preview...' 에서 생성된 쿼리를 저장하여 별도로 생성을 하는 방식으로 처리한다.
지금까지 설정하는 방법과 실행하는 방법을 설명하였고
해당 설정된 정보는 'Save' 나 'Save As...' 버튼을 이용하여 따로 저장해서
계속 불러와서 사용하도록 하면 더 편리할 것이다.
'DB관련 > MS-SQL' 카테고리의 다른 글
SQL Server (T-SQL)에서 10 진수를 16 진수로 변환하는 3 가지 방법 (0) | 2021.04.20 |
---|---|
MSSQL 쿼리포맷 Beautifier 사용법 (0) | 2021.02.02 |
MSSQL DBLINK 생성시 추가 권한 부여 (0) | 2021.01.24 |
MS-SQL 다른 버전끼리 DB-LINK걸때 오류 (0) | 2021.01.24 |
RECENT COMMENT