[성현모] CPXV2, Log DB프로젝트, DB 컨텍스트 추가

This commit is contained in:
SHM
2025-08-29 09:52:19 +09:00
parent f1d466e17c
commit 0ff4843037
50 changed files with 2999 additions and 0 deletions

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<Name>SystemX.DB.CPXV2</Name>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{3a2d7552-9c12-489f-8a0b-330e000c860d}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>
<RootNamespace>SystemX.DB.CPXV2</RootNamespace>
<AssemblyName>SystemX.DB.CPXV2</AssemblyName>
<ModelCollation>1042,CI</ModelCollation>
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
<DeployToDatabase>True</DeployToDatabase>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetLanguage>CS</TargetLanguage>
<AppDesignerFolder>Properties</AppDesignerFolder>
<SqlServerVerification>False</SqlServerVerification>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseSet>True</TargetDatabaseSet>
<GenerateCreateScript>True</GenerateCreateScript>
<DefaultCollation>Korean_Wansung_CI_AS</DefaultCollation>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
</PropertyGroup>
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<ItemGroup>
<Folder Include="Properties" />
<Folder Include="dbo" />
<Folder Include="dbo\Tables" />
<Folder Include="dbo\SotredProcedures" />
<Folder Include="dbo\Scripts" />
</ItemGroup>
<ItemGroup>
<Build Include="dbo\SotredProcedures\spGetDBList.sql" />
<Build Include="dbo\Tables\HIST_TesterSummary.sql" />
<Build Include="dbo\Tables\HIST_TestListFile.sql" />
<Build Include="dbo\Tables\HIST_TestListFileLatestStepVersion.sql" />
<Build Include="dbo\Tables\HIST_TestListFileVariantList.sql" />
<Build Include="dbo\Tables\PROD_Group.sql" />
<Build Include="dbo\Tables\PROD_Release.sql" />
<Build Include="dbo\Tables\PROD_Variant.sql" />
<Build Include="dbo\Tables\STAT_Host.sql" />
<Build Include="dbo\Tables\STAT_TestCode.sql" />
<Build Include="dbo\Tables\STAT_User.sql" />
<Build Include="dbo\Tables\STOR_TestListFile.sql" />
<Build Include="dbo\Tables\VRFY_TestListFileRelease.sql" />
</ItemGroup>
<ItemGroup>
<PostDeploy Include="dbo\Scripts\scriptAfterBuild.sql" />
</ItemGroup>
<PropertyGroup>
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName)_Create.sql $(SolutionDir)..\..\DBPatch\sqlScripts\
xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dacpac $(SolutionDir)..\..\DBPatch\sqlScripts\dacpac\</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,18 @@
/*
배포 후 스크립트 템플릿
--------------------------------------------------------------------------------------
이 파일에는 빌드 스크립트에 추가될 SQL 문이 있습니다.
SQLCMD 구문을 사용하여 파일을 배포 후 스크립트에 포함합니다.
예: :r .\myfile.sql
SQLCMD 구문을 사용하여 배포 후 스크립트의 변수를 참조합니다.
예: :setvar TableName MyTable
SELECT * FROM [$(TableName)]
--------------------------------------------------------------------------------------
*/
--CPXV2 STAT_User
INSERT INTO STAT_User (UserID, Name, Password, Dept, Email, Comment) VALUES ('Admin', 'Admin', 'Kefico!@34', 'Admin', 'systemx2051@gmail.com', 'Administrator');
GO
INSERT INTO STAT_User (UserID, Name, Password, Dept, Email, Comment) VALUES ('SystemX', 'SystemX', 'Kefico!@34', 'SystemX', 'systemx2051@gmail.com', 'SystemX');
GO

View File

@ -0,0 +1,5 @@
CREATE PROCEDURE [dbo].[spGetDBList]
AS
SELECT name FROM SYS.DATABASES WHERE name LIKE '%CPXV%'
RETURN 0

View File

@ -0,0 +1,28 @@
CREATE TABLE [dbo].[HIST_TestListFile](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[TestListFileNo] [int] NULL,
[Name] [nvarchar](64) NOT NULL,
[TestListData1] [varbinary](max) NULL,
[TestListData2] [varbinary](max) NULL,
[TestListData3] [varbinary](max) NULL,
[TestListData4] [varbinary](max) NULL,
[TestListData5] [varbinary](max) NULL,
[TestListData6] [varbinary](max) NULL,
[TestListData7] [varbinary](max) NULL,
[TestListData8] [varbinary](max) NULL,
[TestListData9] [varbinary](max) NULL,
[TestListData10] [varbinary](max) NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[HIST_TestListFile] WITH CHECK ADD FOREIGN KEY([TestListFileNo])
REFERENCES [dbo].[STOR_TestListFile] ([No])
ON DELETE SET NULL
GO
CREATE INDEX [CSK_HIST_TestList_2] ON HIST_TestListFile (TestListFileNo, Name, No);
GO

View File

@ -0,0 +1,17 @@
CREATE TABLE [dbo].[HIST_TestListFileLatestStepVersion](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[TestListFileNo] [int] NULL,
[LatestStepVersion] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[HIST_TestListFileLatestStepVersion] WITH CHECK ADD FOREIGN KEY([TestListFileNo])
REFERENCES [dbo].[STOR_TestListFile] ([No])
ON DELETE SET NULL
GO

View File

@ -0,0 +1,18 @@
CREATE TABLE [dbo].[HIST_TestListFileVariantList](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[TestListFileNo] [int] NULL,
[VariantList] [nvarchar](2048) NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[HIST_TestListFileVariantList] WITH CHECK ADD FOREIGN KEY([TestListFileNo])
REFERENCES [dbo].[STOR_TestListFile] ([No])
ON DELETE SET NULL
GO
CREATE INDEX [CSK_HIST_TestListFileVariantList_2] ON HIST_TestListFileVariantList (TestListFileNo, No);
GO

View File

@ -0,0 +1,43 @@
CREATE TABLE [dbo].[HIST_TesterSummary](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[StationName] [nvarchar](128) NULL,
[TestType] [nvarchar](8) NOT NULL,
[Version] [nvarchar](4) NOT NULL,
[ProdCode] [nvarchar](4) NOT NULL,
[TestListFileNo] [int] NULL,
[TestListVariantNo] [int] NULL,
[TestListCntID] [nvarchar](256) NULL,
[StepVersion] [int] NULL,
[HostID] [nvarchar](64) NOT NULL,
[Section] [nvarchar](64) NOT NULL,
[ProdNo_C] [nvarchar](32) NOT NULL,
[ProdNo_P] [nvarchar](32) NOT NULL,
[Testcode] [nvarchar](16) NOT NULL,
[TestListFileName] [nvarchar](256) NOT NULL,
[ProductID] [nvarchar](64) NOT NULL,
[Result] [nvarchar](16) NOT NULL,
[Duration] [nvarchar](16) NOT NULL,
[TestDT] [datetime2](7) NOT NULL,
UNIQUE NONCLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[HIST_TesterSummary] ADD DEFAULT ('-') FOR [StationName]
GO
ALTER TABLE [dbo].[HIST_TesterSummary] ADD DEFAULT ((-1)) FOR [TestListFileNo]
GO
ALTER TABLE [dbo].[HIST_TesterSummary] ADD DEFAULT ((-1)) FOR [TestListVariantNo]
GO
ALTER TABLE [dbo].[HIST_TesterSummary] ADD DEFAULT ((-1)) FOR [StepVersion]
GO
ALTER TABLE [dbo].[HIST_TesterSummary] ADD DEFAULT (getdate()) FOR [TestDT]
GO

View File

@ -0,0 +1,17 @@
CREATE TABLE [dbo].[PROD_Group](
[No] [int] IDENTITY(0,1) NOT NULL,
[GroupName] [nvarchar](128) NOT NULL,
[ModelName] [nvarchar](128) NOT NULL,
[Comment] [nvarchar](256) NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
UNIQUE NONCLUSTERED
(
[ModelName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

View File

@ -0,0 +1,30 @@
CREATE TABLE [dbo].[PROD_Release](
[No] [int] IDENTITY(0,1) NOT NULL,
[ProdNo_C] [nvarchar](32) NOT NULL,
[TestCodeNo] [int] NULL,
[VariantNo] [int] NULL,
[Config] [nvarchar](32) NOT NULL,
[RegDT] [datetime2](7) NOT NULL,
[RegUser] [nvarchar](32) NOT NULL,
[RegUserComment] [nvarchar](256) NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PROD_Release] ADD DEFAULT (getdate()) FOR [RegDT]
GO
ALTER TABLE [dbo].[PROD_Release] WITH CHECK ADD FOREIGN KEY([TestCodeNo])
REFERENCES [dbo].[STAT_TestCode] ([No])
ON DELETE SET NULL
GO
ALTER TABLE [dbo].[PROD_Release] WITH CHECK ADD FOREIGN KEY([VariantNo])
REFERENCES [dbo].[PROD_Variant] ([No])
ON DELETE SET NULL
GO

View File

@ -0,0 +1,49 @@
CREATE TABLE [dbo].[PROD_Variant](
[No] [int] IDENTITY(0,1) NOT NULL,
[ProdNo_P] [nvarchar](32) NOT NULL,
[RegDT] [datetime2](7) NOT NULL,
[RegUser] [nvarchar](32) NOT NULL,
[UpdateDT] [datetime2](7) NOT NULL,
[UpdateUser] [nvarchar](32) NOT NULL,
[GroupNo] [int] NULL,
[Comment] [nvarchar](256) NULL,
[Description] [nvarchar](256) NULL,
[TestListFileNo] [int] NULL,
[UseTLPosition] [int] NOT NULL,
[IsUse] [bit] NOT NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PROD_Variant] ADD DEFAULT (getdate()) FOR [RegDT]
GO
ALTER TABLE [dbo].[PROD_Variant] ADD DEFAULT (getdate()) FOR [UpdateDT]
GO
ALTER TABLE [dbo].[PROD_Variant] ADD DEFAULT ((0)) FOR [UseTLPosition]
GO
ALTER TABLE [dbo].[PROD_Variant] ADD DEFAULT ((1)) FOR [IsUse]
GO
ALTER TABLE [dbo].[PROD_Variant] WITH CHECK ADD FOREIGN KEY([GroupNo])
REFERENCES [dbo].[PROD_Group] ([No])
ON DELETE SET NULL
GO
ALTER TABLE [dbo].[PROD_Variant] WITH CHECK ADD FOREIGN KEY([TestListFileNo])
REFERENCES [dbo].[STOR_TestListFile] ([No])
ON DELETE SET NULL
GO
ALTER TABLE [dbo].[PROD_Variant] WITH CHECK ADD CONSTRAINT [CK_PROD_TestList_UseTLPosition_2] CHECK (([UseTLPosition]>=(0) AND [UseTLPosition]<=(10)))
GO
ALTER TABLE [dbo].[PROD_Variant] CHECK CONSTRAINT [CK_PROD_TestList_UseTLPosition_2]
GO

View File

@ -0,0 +1,19 @@
CREATE TABLE [dbo].[STAT_Host](
[No] [int] IDENTITY(0,1) NOT NULL,
[HostID] [nvarchar](64) NOT NULL,
[Section] [nvarchar](64) NOT NULL,
[IP] [nvarchar](15) NOT NULL,
[TestCode] [nvarchar](16) NULL,
[Comment] [nvarchar](256) NULL,
[UpdateDT] [datetime2](7) NOT NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[STAT_Host] ADD DEFAULT (getdate()) FOR [UpdateDT]
GO

View File

@ -0,0 +1,18 @@
CREATE TABLE [dbo].[STAT_TestCode](
[No] [int] IDENTITY(0,1) NOT NULL,
[TestCode] [nvarchar](16) NOT NULL,
[Gate1] [nvarchar](64) NOT NULL,
[Gate2] [nvarchar](64) NOT NULL,
[Comment] [nvarchar](256) NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
UNIQUE NONCLUSTERED
(
[TestCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

View File

@ -0,0 +1,24 @@
CREATE TABLE [dbo].[STAT_User](
[No] [int] IDENTITY(0,1) NOT NULL,
[UserID] [nvarchar](32) NOT NULL,
[Name] [nvarchar](32) NOT NULL,
[Password] [nvarchar](32) NOT NULL,
[Dept] [nvarchar](64) NOT NULL,
[Email] [nvarchar](64) NOT NULL,
[Comment] [nvarchar](256) NULL,
[UpdateDT] [datetime2](7) NOT NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
UNIQUE NONCLUSTERED
(
[UserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[STAT_User] ADD DEFAULT (getdate()) FOR [UpdateDT]
GO

View File

@ -0,0 +1,28 @@
CREATE TABLE [dbo].[STOR_TestListFile](
[No] [int] IDENTITY(0,1) NOT NULL,
[Name] [nvarchar](64) NOT NULL,
[TestType] [nvarchar](8) NOT NULL,
[Version] [nvarchar](4) NOT NULL,
[ProdCode] [nvarchar](4) NOT NULL,
[FileName] [nvarchar](64) NOT NULL,
[RegDT] [datetime2](7) NOT NULL,
[RegUser] [nvarchar](32) NOT NULL,
[UpdateDT] [datetime2](7) NOT NULL,
[UpdateUser] [nvarchar](32) NOT NULL,
[Comment] [nvarchar](256) NULL,
[Description] [nvarchar](256) NULL,
[TestListData] [varbinary](max) NOT NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[STOR_TestListFile] ADD DEFAULT (getdate()) FOR [RegDT]
GO
ALTER TABLE [dbo].[STOR_TestListFile] ADD DEFAULT (getdate()) FOR [UpdateDT]
GO

View File

@ -0,0 +1,48 @@
CREATE TABLE [dbo].[VRFY_TestListFileRelease](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[TestListFileNo] [int] NULL,
[StepID] [bigint] NOT NULL,
[Variant] [nvarchar](32) NOT NULL,
[Gate] [nvarchar](128) NOT NULL,
[Activate] [bit] NULL,
[StepVersion] [int] NOT NULL,
[Enable] [bit] NULL,
[Position] [bigint] NULL,
[StepDesc] [nvarchar](2048) NULL,
[UseFunction] [nvarchar](2048) NOT NULL,
[MacroParm] [nvarchar](2048) NULL,
[Parm] [nvarchar](2048) NULL,
[SpecMin] [nvarchar](2048) NOT NULL,
[SpecMax] [nvarchar](2048) NOT NULL,
[IsGlobal] [bit] NULL,
[Dim] [nvarchar](64) NOT NULL,
[UpdateDT] [datetime2](7) NOT NULL,
PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[VRFY_TestListFileRelease] ADD DEFAULT ((1)) FOR [Activate]
GO
ALTER TABLE [dbo].[VRFY_TestListFileRelease] ADD DEFAULT ((1)) FOR [Enable]
GO
ALTER TABLE [dbo].[VRFY_TestListFileRelease] ADD DEFAULT ('') FOR [StepDesc]
GO
ALTER TABLE [dbo].[VRFY_TestListFileRelease] ADD DEFAULT ((0)) FOR [IsGlobal]
GO
ALTER TABLE [dbo].[VRFY_TestListFileRelease] ADD DEFAULT (getdate()) FOR [UpdateDT]
GO
ALTER TABLE [dbo].[VRFY_TestListFileRelease] WITH NOCHECK ADD FOREIGN KEY([TestListFileNo])
REFERENCES [dbo].[STOR_TestListFile] ([No])
ON DELETE SET NULL
GO
CREATE INDEX [CSK_VRFY_Release_2] ON VRFY_TestListFileRelease (TestListFileNo, StepID, Enable, No);
GO

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<Name>SystemX.DB.CPXV2Log</Name>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{d9439c52-76b5-4908-9b0d-43d1f52ec942}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>
<RootNamespace>SystemX.DB.CPXV2Log</RootNamespace>
<AssemblyName>SystemX.DB.CPXV2Log</AssemblyName>
<ModelCollation>1042,CI</ModelCollation>
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
<DeployToDatabase>True</DeployToDatabase>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetLanguage>CS</TargetLanguage>
<AppDesignerFolder>Properties</AppDesignerFolder>
<SqlServerVerification>False</SqlServerVerification>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseSet>True</TargetDatabaseSet>
<GenerateCreateScript>True</GenerateCreateScript>
<DefaultCollation>Korean_Wansung_CI_AS</DefaultCollation>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
</PropertyGroup>
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<ItemGroup>
<Folder Include="Properties" />
<Folder Include="dbo" />
<Folder Include="dbo\Functions" />
<Folder Include="dbo\Functions\Scala" />
<Folder Include="dbo\Scripts" />
<Folder Include="dbo\StoredProcedures" />
<Folder Include="dbo\Tables" />
</ItemGroup>
<ItemGroup>
<Build Include="dbo\Tables\HIST_LogSummary.sql" />
<Build Include="dbo\Tables\HIST_TestResult.sql" />
<Build Include="dbo\StoredProcedures\spCreateTableByName.sql" />
<Build Include="dbo\StoredProcedures\spCreateTableMonth.sql" />
</ItemGroup>
<ItemGroup>
<PostDeploy Include="dbo\Scripts\scriptCreateTables.sql" />
</ItemGroup>
<PropertyGroup>
<PostBuildEvent>xcopy /y $(ProjectDir)$(OutputPath)$(TargetName)_Create.sql $(SolutionDir)..\..\DBPatch\sqlScripts\
xcopy /y $(ProjectDir)$(OutputPath)$(TargetName).dacpac $(SolutionDir)..\..\DBPatch\sqlScripts\dacpac\</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,23 @@
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[XConvertDateE]
(
-- Add the parameters for the function here
@date AS VARCHAR(50)
)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @OutDate datetime2
SET @OutDate = CASE WHEN CHARINDEX('PM',@date)>0 and CHARINDEX('PM 12',@date)<=0 THEN
DATEADD(HH,12,CONVERT (DATETIME, REPLACE(@date,'PM','')))
WHEN CHARINDEX('AM 12',@date)>0 THEN
DATEADD(HH,-12,CONVERT (DATETIME, REPLACE(@date,'AM','')))
ELSE CONVERT (DATETIME,REPLACE(REPLACE(@date,'AM',''),'PM','') )
END
RETURN @OutDate
END
GO

View File

@ -0,0 +1,25 @@
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[XConvertDateK]
(
-- Add the parameters for the function here
@date AS VARCHAR(50)
)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @OutDate datetime2
SET @OutDate = CASE WHEN CHARINDEX('오후',@date)>0 and CHARINDEX('오후 12',@date)<=0 THEN
DATEADD(HH,12,CONVERT (DATETIME, REPLACE(@date,'오후','')))
WHEN CHARINDEX('오전 12',@date)>0 THEN
DATEADD(HH,-12,CONVERT (DATETIME, REPLACE(@date,'오전','')))
ELSE CONVERT (DATETIME,REPLACE(REPLACE(@date,'오전',''),'오후','') )
END
RETURN @OutDate
END
GO

View File

@ -0,0 +1,31 @@
/*
배포 후 스크립트 템플릿
--------------------------------------------------------------------------------------
이 파일에는 빌드 스크립트에 추가될 SQL 문이 있습니다.
SQLCMD 구문을 사용하여 파일을 배포 후 스크립트에 포함합니다.
예: :r .\myfile.sql
SQLCMD 구문을 사용하여 배포 후 스크립트의 변수를 참조합니다.
예: :setvar TableName MyTable
SELECT * FROM [$(TableName)]
--------------------------------------------------------------------------------------
*/
/*10회 루프*/
DECLARE @CNT INT = 0;
DECLARE @MAX_CNT INT = 10
DECLARE @DBNAME varchar(50) = DB_NAME();
IF (@DBNAME LIKE '%short%')
BEGIN
WHILE(@CNT < @MAX_CNT)
BEGIN
DECLARE @yyyy varchar(4) = CONVERT(CHAR(4), DATEADD(YEAR, @CNT, GETDATE()), 23)
DECLARE @summary varchar(200) = N'HIST_LogSummary_'+@yyyy
DECLARE @result varchar(200) = N'HIST_TestResult_'+@yyyy
EXEC [dbo].[spCreateTableByName] @summary , @result
SET @CNT += 1
END
END
GO

View File

@ -0,0 +1,78 @@
CREATE PROCEDURE [dbo].[spCreateTableByName]
@logSummaryTableName nvarchar(200),
@logResultTableName nvarchar(200)
AS
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @logSummaryTableName)
BEGIN
DECLARE @summaryQuery nvarchar(4000)= N'
CREATE TABLE [dbo].['+@logSummaryTableName+'](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[StationName] [nvarchar](128) NULL,
[TestType] [nvarchar](8) NOT NULL,
[Version] [nvarchar](4) NOT NULL,
[ProdCode] [nvarchar](4) NOT NULL,
[TestListFileNo] [int] NULL,
[TestListVariantNo] [int] NULL,
[TestListCntID] [nvarchar](256) NULL,
[StepVersion] [int] NULL,
[HostID] [nvarchar](64) NOT NULL,
[Section] [nvarchar](64) NOT NULL,
[ProdNo_C] [nvarchar](32) NOT NULL,
[ProdNo_P] [nvarchar](32) NOT NULL,
[Testcode] [nvarchar](16) NOT NULL,
[TestListFileName] [nvarchar](256) NOT NULL,
[ProductID] [nvarchar](64) NOT NULL,
[Result] [nvarchar](16) NOT NULL,
[Duration] [nvarchar](16) NOT NULL,
[TestDT] [datetime2](7) NOT NULL,
CONSTRAINT [PK_'+@logSummaryTableName+'] PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
UNIQUE NONCLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT (''-'') FOR [StationName]
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT ((-1)) FOR [TestListFileNo]
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT ((-1)) FOR [TestListVariantNo]
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT ((-1)) FOR [StepVersion]
ALTER TABLE [dbo].['+@logSummaryTableName+'] ADD DEFAULT (getdate()) FOR [TestDT]
CREATE INDEX ['+@logSummaryTableName+'_2] ON '+@logSummaryTableName+' (TestDT, No);
CREATE INDEX ['+@logSummaryTableName+'_3] ON '+@logSummaryTableName+' (TestDT);
';
EXEC(@summaryQuery)
END
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @logResultTableName)
BEGIN
DECLARE @resultQuery nvarchar(4000)= N'
CREATE TABLE [dbo].['+@logResultTableName+'](
[No] [bigint] NOT NULL,
[TestDT] [datetime2](7) NULL,
[LogData] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_'+@logResultTableName+'] PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
ALTER TABLE [dbo].['+@logResultTableName+'] ADD DEFAULT (getdate()) FOR [TestDT]
CREATE INDEX ['+@logResultTableName+'_2] ON '+@logResultTableName+' (TestDT, No);
CREATE INDEX ['+@logResultTableName+'_3] ON '+@logResultTableName+' (TestDT);
';
EXEC(@resultQuery)
END
RETURN 0

View File

@ -0,0 +1,37 @@
CREATE PROCEDURE [dbo].[spCreateTableMonth]
AS
-- HIST_TestResult
DECLARE @current_yymm varchar(4) = CONVERT(CHAR(4), GETDATE(), 12)
DECLARE @current_summaryTableName varchar(40) = N'HIST_LogSummary_'+@current_yymm
DECLARE @current_summary_query varchar(200) = N' SELECT * INTO ' + @current_summaryTableName + N' FROM HIST_LogSummary'
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @current_summaryTableName)
BEGIN
EXEC(@current_summary_query)
END
DECLARE @current_resultTableName varchar(40) = N'HIST_TestResult_'+@current_yymm
DECLARE @current_result_query varchar(200) = N' SELECT * INTO ' + @current_resultTableName + N' FROM HIST_TestResult'
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @current_resultTableName)
BEGIN
EXEC(@current_result_query)
END
-- HIST_TestResult
DECLARE @next_yymm varchar(4) = CONVERT(CHAR(4), DATEADD(MONTH, 1, GETDATE()), 12)
DECLARE @next_summaryTableName varchar(40) = N'HIST_LogSummary_'+@next_yymm
DECLARE @next_summary_query varchar(200) = N' SELECT * INTO ' + @next_summaryTableName + N' FROM HIST_LogSummary'
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @next_summaryTableName)
BEGIN
EXEC(@next_summary_query)
END
DECLARE @next_resultTableName varchar(40) = N'HIST_TestResult_'+@next_yymm
DECLARE @next_result_query varchar(200) = N' SELECT * INTO ' + @next_resultTableName + N' FROM HIST_TestResult'
IF NOT EXISTS(SELECT * FROM sys.tables WHERE NAME = @next_resultTableName)
BEGIN
EXEC(@next_result_query)
END
RETURN 0

View File

@ -0,0 +1,51 @@
CREATE TABLE [dbo].[HIST_LogSummary](
[No] [bigint] IDENTITY(0,1) NOT NULL,
[StationName] [nvarchar](128) NULL,
[TestType] [nvarchar](8) NOT NULL,
[Version] [nvarchar](4) NOT NULL,
[ProdCode] [nvarchar](4) NOT NULL,
[TestListFileNo] [int] NULL,
[TestListVariantNo] [int] NULL,
[TestListCntID] [nvarchar](256) NULL,
[StepVersion] [int] NULL,
[HostID] [nvarchar](64) NOT NULL,
[Section] [nvarchar](64) NOT NULL,
[ProdNo_C] [nvarchar](32) NOT NULL,
[ProdNo_P] [nvarchar](32) NOT NULL,
[Testcode] [nvarchar](16) NOT NULL,
[TestListFileName] [nvarchar](256) NOT NULL,
[ProductID] [nvarchar](64) NOT NULL,
[Result] [nvarchar](16) NOT NULL,
[Duration] [nvarchar](16) NOT NULL,
[TestDT] [datetime2](7) NOT NULL,
UNIQUE NONCLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
CONSTRAINT [PK_HIST_LogSummary] PRIMARY KEY ([No])
) ON [PRIMARY]
GO
GO
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ('-') FOR [StationName]
GO
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ((-1)) FOR [TestListFileNo]
GO
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ((-1)) FOR [TestListVariantNo]
GO
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT ((-1)) FOR [StepVersion]
GO
ALTER TABLE [dbo].[HIST_LogSummary] ADD DEFAULT (getdate()) FOR [TestDT]
GO
CREATE INDEX [HIST_LogSummary_2] ON HIST_LogSummary (TestDT, No);
GO
CREATE INDEX [HIST_LogSummary_3] ON HIST_LogSummary (TestDT);
GO

View File

@ -0,0 +1,19 @@
CREATE TABLE [dbo].[HIST_TestResult](
[No] [bigint] NOT NULL,
[TestDT] [datetime2](7) NULL,
[LogData] [nvarchar](MAX) NOT NULL,
CONSTRAINT [PK_HIST_TestResult] PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[HIST_TestResult] ADD DEFAULT (getdate()) FOR [TestDT]
GO
CREATE INDEX [HIST_TestResult_2] ON HIST_TestResult (TestDT, No);
GO
CREATE INDEX [HIST_TestResult_3] ON HIST_TestResult (TestDT);
GO