2019년 5월 2일 목요일

[VisualStudio] TFS SQL Server Advanced Publish settings


OS: Windows 8.1(x64)
SQL: Microsoft SQL Server 2017(RTM) - 14.0.1000.169
Visual  Studio: Microsoft SQL Server Data Tools for Visual Studio 2017

TFS로 소스배포를 하고 있는데 컬럼의 옵션의 Null -> Not Null로 변경하는데 문제가 생겼다. 보통 TFS를 사용하지 않았다면 바로

Alter table $table ALter column $column INT NOT NULL;

로 수정했을 테지만 TFS를 사용하여 배포를 하며 에러가 발생했다.

에러메시지에 아래와 같은 옵션 수정에 대한 메시지가 나왔음

you must add values to this column for all or mark it as allowing NULL values, or enable the generation of smart-defaults as a deployment option.

or 이후의 문장에 중점을 두고 구글링을 찾아 봤다.

관련링크

근데 해당 옵션 창이 어디서 나타나는지 모르겠다. 이렇게 또 영어의 벽에 부딪힘

결론은 publish 버튼을 클릭하면 뜨는 Publish database 창에 Advanced... 버튼을 클릭하면


아래와 같이 해당 화면이 나온다. 30분 정도 몰라서 계속 구글링 했었다.


그래서 Generate smart defaults, when applicable 에 체크해주면 정상적으로 처리 된다.

정상적으로 처리된 내용의 쿼리를 봤더니

update $table
set $column = 0
WHERE $coulumn IS NULL;
Alter table $table ALter column $column INT NOT NULL;

이와 같이 처리해서 배포를 한다.

잊어버릴것 같아서 정리해두는 내용이다.


댓글 없음:

댓글 쓰기