329 lines
7.7 KiB
Transact-SQL
329 lines
7.7 KiB
Transact-SQL
/*
|
|
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;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM [dbo].[CertificateTarget] AS target
|
|
WHERE target.[SonicContainerId] = @SonicContainerId
|
|
AND target.[TargetFileName] = N'server.crt'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [dbo].[CertificateTarget]
|
|
(
|
|
[SonicContainerId],
|
|
[TargetDirectory],
|
|
[TargetFileName],
|
|
[BackupEnabled],
|
|
[BackupDirectoryName],
|
|
[IsActive],
|
|
[CreationDateTime],
|
|
[CreatedBy]
|
|
)
|
|
VALUES
|
|
(
|
|
@SonicContainerId,
|
|
N'C:\ESB\Certificates',
|
|
N'server.crt',
|
|
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
|