이 질문을 올바르게 설명 할 수 있기를 바랍니다.제약 조건과의 관계로 데이터베이스 테이블 배치
내 ASP.NET 프로젝트에는 미래의 업그레이드 등을 위해 MS SQL Server 데이터베이스 테이블 스크립트 목록이 들어 있습니다. 새 파일을 추가하지 않고도 스크립트를 다시 실행할 수 있습니다. 현재 내가 각 데이터베이스 테이블이 있습니다
이---CREATING TABLE---
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DATABASETABLENAME]') AND type IN (N'U'))
//CREATE TABLE CODE HERE
---BUILDING RELATIONSHIPS---
IF NOT EXISTS (SELECT [name] FROM sysobjects WHERE [name] = 'FK_CONSTRAINTNAME') ALTER TABLE [dbo].[DATBASETABLENAME] DROP CONSTRAINT [FK_CONSTRAINTNAME]
//ADD CONSTRAINT CODE HERE
내 문제는 제약 조건으로 이루어지고 테이블이 스크립트는 아직 실행했다되지 않은 경우, 테이블이 존재하지 않는되고 실패합니다.
다른 제약 조건 테이블이 존재 하는지를 확인할 수는 있지만 여전히 모든 스크립트를 두 번 실행하여 실행해야합니다.
하드 코드가 없으면 의존성에 따라 실행되는 테이블 스크립트를 식별하고 순서를 정할 수 있습니까? 미래에는 수백 개의 테이블이있을 수 있습니다.
이 정보가 충분하지 않은 경우 알려 주시기 바랍니다.
미리 감사드립니다.
ASP.NET을 사용하고 있으므로 Visual Studio에서 데이터베이스 프로젝트를 사용해 볼 수 있습니다. Visual Studio에서는 이러한 문제를 처리하고 데이터베이스의 빌드 스크립트를 자동으로 생성합니다. – IsKernel