Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Installer.Tests/Helpers/TestDatabaseHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ CREATE TABLE config.installation_history
installation_date datetime2(7) NOT NULL DEFAULT SYSDATETIME(),
installer_version nvarchar(50) NOT NULL,
installer_info_version nvarchar(100) NULL,
sql_server_version nvarchar(255) NOT NULL DEFAULT N'Unknown',
sql_server_version nvarchar(512) NOT NULL DEFAULT N'Unknown',
sql_server_edition nvarchar(255) NOT NULL DEFAULT N'Unknown',
installation_type nvarchar(20) NOT NULL DEFAULT N'UPGRADE',
previous_version nvarchar(50) NULL,
Expand Down Expand Up @@ -108,7 +108,7 @@ CREATE TABLE config.installation_history
installation_date datetime2(7) NOT NULL DEFAULT SYSDATETIME(),
installer_version nvarchar(50) NOT NULL,
installer_info_version nvarchar(100) NULL,
sql_server_version nvarchar(255) NOT NULL DEFAULT N'Unknown',
sql_server_version nvarchar(512) NOT NULL DEFAULT N'Unknown',
sql_server_edition nvarchar(255) NOT NULL DEFAULT N'Unknown',
installation_type nvarchar(20) NOT NULL DEFAULT N'UPGRADE',
previous_version nvarchar(50) NULL,
Expand Down
30 changes: 29 additions & 1 deletion install/01_install_database.sql
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@ BEGIN
installation_date datetime2(7) NOT NULL DEFAULT SYSDATETIME(),
installer_version nvarchar(50) NOT NULL,
installer_info_version nvarchar(100) NULL,
sql_server_version nvarchar(255) NOT NULL,
sql_server_version nvarchar(512) NOT NULL,
sql_server_edition nvarchar(255) NOT NULL,
installation_type nvarchar(20) NOT NULL, /*INSTALL, UPGRADE, REINSTALL*/
previous_version nvarchar(50) NULL,
Expand All @@ -641,6 +641,34 @@ BEGIN
END;
GO

/*
Widen sql_server_version when upgrading from older installs (nvarchar(255) or narrower).
Idempotent: no-op if the column is already nvarchar(512) or wider, missing, or table absent.
*/
IF OBJECT_ID(N'config.installation_history', N'U') IS NOT NULL
BEGIN
IF EXISTS
(
SELECT
1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = N'config'
AND TABLE_NAME = N'installation_history'
AND COLUMN_NAME = N'sql_server_version'
AND DATA_TYPE = N'nvarchar'
AND CHARACTER_MAXIMUM_LENGTH BETWEEN 1 AND 511
)
BEGIN
ALTER TABLE
config.installation_history
ALTER COLUMN
sql_server_version nvarchar(512) NOT NULL;

PRINT 'Widened config.installation_history.sql_server_version to nvarchar(512).';
END;
END;
GO

/*
Create view to show current installed version
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
Copyright 2026 Darling Data, LLC
https://www.erikdarling.com/

Upgrade from 2.4.1 to 2.4.2
Widen config.installation_history.sql_server_version from nvarchar(255) to nvarchar(512).
Idempotent: safe to run multiple times.
*/

SET ANSI_NULLS ON;
SET ANSI_PADDING ON;
SET ANSI_WARNINGS ON;
SET ARITHABORT ON;
SET CONCAT_NULL_YIELDS_NULL ON;
SET QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
SET IMPLICIT_TRANSACTIONS OFF;
SET STATISTICS TIME, IO OFF;
GO

USE PerformanceMonitor;
GO

IF OBJECT_ID(N'config.installation_history', N'U') IS NOT NULL
BEGIN
IF EXISTS
(
SELECT
1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = N'config'
AND TABLE_NAME = N'installation_history'
AND COLUMN_NAME = N'sql_server_version'
AND DATA_TYPE = N'nvarchar'
AND CHARACTER_MAXIMUM_LENGTH BETWEEN 1 AND 511
)
BEGIN
ALTER TABLE
config.installation_history
ALTER COLUMN
sql_server_version nvarchar(512) NOT NULL;

PRINT 'Widened config.installation_history.sql_server_version to nvarchar(512).';
END
ELSE
BEGIN
PRINT 'config.installation_history.sql_server_version already nvarchar(512) or wider; skipping.';
END;
END
ELSE
BEGIN
PRINT 'Table config.installation_history does not exist; skipping.';
END;
GO
1 change: 1 addition & 0 deletions upgrades/2.4.1-to-2.4.2/upgrade.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
01_widen_installation_history_sql_server_version.sql