스크립트를 만드는 방법은 알고 있지만 Windows 응용 프로그램이나 웹 응용 프로그램 내에서이 스크립트를 구현하는 방법을 알고 있습니까? 웹 응용 프로그램에 초점을Windows 및 Web App에서 데이터베이스 업그레이드를 처리하는 가장 좋은 방법은 무엇입니까?
, 나는이 같은 폴더에있는 모든 업그레이드 스크립트 : \ C# 버전으로 \ upgrade_1.4.99.sql, upgrade_1.4.101.sql 등
C# 코드 검사 현재 코드 데이터베이스 버전을 설치 각 SQL 스크립트를 순서대로 반복하고 스크립트를 실행합니다.
사용자가 관리자가 아닌 경우 업그레이드가 임박했다는 적절한 메시지를 표시합니다. 비슷한 기능 (사용자를 로그 아웃). 관리자 (우리)는 웹 페이지를 업그레이드하도록 리디렉션되고 각 스크립트의 실패 또는 성공을 표시하는 스크립트를 실행합니다. 실패는 SQL 트랜잭션을 롤백합니다.
우리는 기본적으로 하나의 웹 응용 프로그램 인스턴스를 여러 개 가지고 있으며 우리가 관리하는 데 사용하는 수동 업그레이드에 좌절감을 느낍니다.
가장 중요한 문제는 데이터 업그레이드였습니다 ... 정적 데이터 (구성 설정 등)와 같은 중요한 데이터 전송이 항상 누락되었습니다. 따라서 우리는 스키마 및 데이터 업그레이드 스크립팅에 RedGate를 사용합니다.
웹 사이트를 업그레이드하는 가장 좋은 방법은 위와 같습니다. Windows 응용 프로그램에 대해 동일한 프로세스를 사용할 수 있습니까?
또한 스크립트 파일을 읽는 내 방법을 개선 할 수 있다고 확신합니다. 우리는 단순히 SQL 파일의 각 텍스트 행을 읽고 "GO"를 기다린 다음이 문자열을 모두 처리하기 전에 배열에 저장합니다. (나는이 코드를 작성하지 않았다). 이 과정에는 하나의 큰 Begin and Commit Trans가 포함됩니다.이 권리가 있는지 아닌지 확실하지 않습니다.
여기에 질문이 너무 많아서 불편을 끼쳐 드려 죄송합니다.
어떻게 당신의 과정은 바로 스크립트가 데이터베이스에 대해 실행되는 것을 보장합니까? 데이터베이스에 버전 번호를 표시 하시겠습니까? –