2016-12-07 2 views
0

저는 CodeFluent를 사용하고 있습니다. 정말 만족합니다. 그러나 생성 된 테이블 워크는 매번 불필요한 변경 사항을 포함하고있는 것으로 보입니다. 이러한 변경 사항을 해제 할 수 있는지 아는 사람 있습니까?Codefluent tablediff.sql bloat

  1. [nvarchar] (max) 열은 [nvarchar] (max)가 이미 지정되어 있어도 항상 [nvarchar] (max)로 설정됩니다.
  2. 이미 기본값이 설정되어 있어도 모든 기본값이 설정되는 것처럼 보입니다. diff에는 거의 _trackLastWriteTime과 _trackCreationTime이 있습니다.
  3. 제약 떨어

왜이 문제가 추가됩니다?

  1. tablediff는 확인하고 '진짜'더 이상, 특히 큰 데이터베이스에
  2. 제약 조건의 낙하 변경을 반전 걸립니다 tablediff를 실행
  3. 변경 확인하기 어렵다 너무 크기 때문에 우리는 을 기본 키와 인덱스로 만들었고 때로는 힙만 생성하는 을 생성했습니다.

답변

1

개발 단계 동안 모델을 빌드 한 후 올바른 데이터베이스 스키마를 얻는 것이 목표입니다. 최종 데이터베이스 스키마가 괜찮 으면 쓸모없는 명령문을 포함 할 수 있습니다.

프로덕션 환경에서 데이터베이스를 업그레이드하려면 SQL Server Pivot Script producer을 사용해야합니다. 피벗 스크립트 제작자는 데이터베이스의 테이블, 저장 프로 시저, 함수 등의 목록을 포함하는 XML 파일 (또는 zip 파일)을 생성합니다. Pivot Runner는이 파일을 읽고 데이터베이스를 작성하거나 XML 파일에 설명 된 상태로 업그레이드합니다. 스크립트 파일을 생성하지 않고 직접 SQL 문을 생성하고 실행하므로 PivotRunner는 diff 스크립트보다 적은 작업을 수행합니다.

:이 스키마 개발 및 배치 작업 흐름을 보여줍니다 https://stackoverflow.com/a/36426389/2996339

: 필요한 경우

, 당신은 피벗 주자가하는 일에 모든 권한을 가질 수 있습니다