Files
123123/ZA.CoreService.ESBCertificateManager/Database/03_Seed.sql

352 lines
8.4 KiB
Transact-SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
DATABASE: [EsbZertifikatManager]
OBJECTNAME: Seed
ACTION: INSERT
IDX: 002
DATE: 2026-07-29
USER: CUR
COMMENT: KOMPLETTE Seed-Datei (alles in einem Lauf):
- Company: DE, PL, AT
- Environment: TEST2, TEST, PROD
- SonicConnection: DE-Test (TEST)
- SonicContainer: ct-ZADBService
- CertificateTarget: Platzhalter-Pfad
Keine Credentials (Always Encrypted / Setup-Wizard).
Voraussetzung: 00_DropExisting, 01_CreateDatabase, 02_CreateSchema,
AlwaysEncrypted-Zertifikat importiert (Install-Certificate.ps1).
*/
USE [EsbZertifikatManager];
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
/* -------------------------------------------------------------------------- */
/* Company */
/* -------------------------------------------------------------------------- */
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[Company] AS company
WHERE company.[CompanyCode] = N'DE'
)
BEGIN
INSERT INTO [dbo].[Company]
(
[CompanyCode],
[CompanyName],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(N'DE', N'ZIEHL-ABEGG Deutschland', 1, SYSUTCDATETIME(), SUSER_SNAME());
END;
GO
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[Company] AS company
WHERE company.[CompanyCode] = N'PL'
)
BEGIN
INSERT INTO [dbo].[Company]
(
[CompanyCode],
[CompanyName],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(N'PL', N'ZIEHL-ABEGG Polen', 1, SYSUTCDATETIME(), SUSER_SNAME());
END;
GO
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[Company] AS company
WHERE company.[CompanyCode] = N'AT'
)
BEGIN
INSERT INTO [dbo].[Company]
(
[CompanyCode],
[CompanyName],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(N'AT', N'ZIEHL-ABEGG Oesterreich', 1, SYSUTCDATETIME(), SUSER_SNAME());
END;
GO
/* -------------------------------------------------------------------------- */
/* Environment */
/* -------------------------------------------------------------------------- */
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[Environment] AS environment
WHERE environment.[EnvironmentCode] = N'TEST2'
)
BEGIN
INSERT INTO [dbo].[Environment]
(
[EnvironmentCode],
[EnvironmentName],
[SortOrder],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(N'TEST2', N'Test 2', 1, 1, SYSUTCDATETIME(), SUSER_SNAME());
END;
GO
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[Environment] AS environment
WHERE environment.[EnvironmentCode] = N'TEST'
)
BEGIN
INSERT INTO [dbo].[Environment]
(
[EnvironmentCode],
[EnvironmentName],
[SortOrder],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(N'TEST', N'Test', 2, 1, SYSUTCDATETIME(), SUSER_SNAME());
END;
GO
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[Environment] AS environment
WHERE environment.[EnvironmentCode] = N'PROD'
)
BEGIN
INSERT INTO [dbo].[Environment]
(
[EnvironmentCode],
[EnvironmentName],
[SortOrder],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(N'PROD', N'Production', 3, 1, SYSUTCDATETIME(), SUSER_SNAME());
END;
GO
/* -------------------------------------------------------------------------- */
/* TEST-System: DE-Test + ct-ZADBService + CertificateTarget */
/* -------------------------------------------------------------------------- */
DECLARE @EnvironmentIdTest [int];
DECLARE @CompanyIdDe [int];
DECLARE @SonicConnectionIdDeTest [int];
DECLARE @SonicContainerId [int];
SELECT @EnvironmentIdTest = environment.[EnvironmentId]
FROM [dbo].[Environment] AS environment
WHERE environment.[EnvironmentCode] = N'TEST';
SELECT @CompanyIdDe = company.[CompanyId]
FROM [dbo].[Company] AS company
WHERE company.[CompanyCode] = N'DE';
IF @EnvironmentIdTest IS NULL
OR @CompanyIdDe IS NULL
BEGIN
THROW 50002,
N'Seed unvollstaendig: Environment TEST oder Company DE fehlt.',
1;
END;
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[SonicConnection] AS connection
WHERE connection.[ConnectionName] = N'DE-Test'
)
BEGIN
INSERT INTO [dbo].[SonicConnection]
(
[EnvironmentId],
[ConnectionName],
[ManagementHost],
[ManagementPort],
[DomainName],
[ConnectionProtocol],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(
@EnvironmentIdTest,
N'DE-Test',
N'dekun-painwbdet',
13070,
N'proalpha-test',
N'tcp',
1,
SYSUTCDATETIME(),
SUSER_SNAME()
);
END;
SELECT @SonicConnectionIdDeTest = connection.[SonicConnectionId]
FROM [dbo].[SonicConnection] AS connection
WHERE connection.[ConnectionName] = N'DE-Test';
IF @SonicConnectionIdDeTest IS NULL
BEGIN
THROW 50003,
N'Seed fehlgeschlagen: SonicConnection DE-Test nicht gefunden.',
1;
END;
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[SonicContainer] AS container
WHERE container.[SonicConnectionId] = @SonicConnectionIdDeTest
AND container.[ContainerName] = N'ct-ZADBService'
)
BEGIN
INSERT INTO [dbo].[SonicContainer]
(
[CompanyId],
[SonicConnectionId],
[ContainerName],
[ContainerDisplayName],
[RestartTimeoutSeconds],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(
@CompanyIdDe,
@SonicConnectionIdDeTest,
N'ct-ZADBService',
N'ZADBService',
180,
1,
SYSUTCDATETIME(),
SUSER_SNAME()
);
END;
SELECT @SonicContainerId = container.[SonicContainerId]
FROM [dbo].[SonicContainer] AS container
WHERE container.[SonicConnectionId] = @SonicConnectionIdDeTest
AND container.[ContainerName] = N'ct-ZADBService';
IF @SonicContainerId IS NULL
BEGIN
THROW 50004,
N'Seed fehlgeschlagen: SonicContainer ct-ZADBService nicht gefunden.',
1;
END;
/* Demo-Pfad für Zertifikat-Austausch (UNC server.p12) immer sicherstellen */
DECLARE @DemoDirectory [nvarchar](500) =
N'\\dekun-painwbdet\e$\proalpha-inwb\test\Containers\proalpha-test.ct-ZADBService\certs';
DECLARE @DemoFileName [nvarchar](260) = N'server.p12';
UPDATE [dbo].[CertificateTarget]
SET
[TargetDirectory] = @DemoDirectory,
[TargetFileName] = @DemoFileName,
[BackupEnabled] = 1,
[BackupDirectoryName] = N'Backup',
[IsActive] = 1,
[ModifiedDateTime] = SYSUTCDATETIME(),
[ModifiedBy] = SUSER_SNAME()
WHERE [SonicContainerId] = @SonicContainerId
AND
(
[TargetFileName] IN (N'server.crt', N'server.p12')
OR [TargetDirectory] LIKE N'C:\ESB\Certificates%'
);
IF NOT EXISTS
(
SELECT 1
FROM [dbo].[CertificateTarget] AS target
WHERE target.[SonicContainerId] = @SonicContainerId
AND target.[TargetDirectory] = @DemoDirectory
AND target.[TargetFileName] = @DemoFileName
AND target.[IsActive] = 1
)
BEGIN
INSERT INTO [dbo].[CertificateTarget]
(
[SonicContainerId],
[TargetDirectory],
[TargetFileName],
[BackupEnabled],
[BackupDirectoryName],
[IsActive],
[CreationDateTime],
[CreatedBy]
)
VALUES
(
@SonicContainerId,
@DemoDirectory,
@DemoFileName,
1,
N'Backup',
1,
SYSUTCDATETIME(),
SUSER_SNAME()
);
END;
GO
/* Kontrolle */
SELECT
company.[CompanyCode],
environment.[EnvironmentCode],
connection.[ConnectionName],
connection.[ManagementHost],
connection.[ManagementPort],
connection.[DomainName],
container.[ContainerName],
target.[TargetDirectory],
target.[TargetFileName]
FROM [dbo].[SonicConnection] AS connection
INNER JOIN [dbo].[Environment] AS environment
ON environment.[EnvironmentId] = connection.[EnvironmentId]
INNER JOIN [dbo].[SonicContainer] AS container
ON container.[SonicConnectionId] = connection.[SonicConnectionId]
INNER JOIN [dbo].[Company] AS company
ON company.[CompanyId] = container.[CompanyId]
LEFT JOIN [dbo].[CertificateTarget] AS target
ON target.[SonicContainerId] = container.[SonicContainerId]
ORDER BY
environment.[SortOrder],
company.[CompanyCode],
connection.[ConnectionName];
GO