From 82f0d262001f0b003d73fd8d452d2fc73b2b0e24 Mon Sep 17 00:00:00 2001 From: Aaron Po Date: Thu, 12 Feb 2026 23:29:42 -0500 Subject: [PATCH] Fix ISO country code references in database scripts and seeder (#148) --- .../scripts/01-schema/schema.sql | 39 ++++++++++--------- .../02-functions/UDF_GetCountryIdByCode.sql | 2 +- .../UDF_GetStateProvinceIdByCode.sql | 2 +- .../03-crud/04-Location/USP_CreateCountry.sql | 11 +++--- .../04-Location/USP_CreateStateProvince.sql | 17 ++++---- .../Database/Database.Seed/LocationSeeder.cs | 6 +-- 6 files changed, 40 insertions(+), 37 deletions(-) diff --git a/src/Core/Database/Database.Migrations/scripts/01-schema/schema.sql b/src/Core/Database/Database.Migrations/scripts/01-schema/schema.sql index 1fdf3ba..90a12f6 100644 --- a/src/Core/Database/Database.Migrations/scripts/01-schema/schema.sql +++ b/src/Core/Database/Database.Migrations/scripts/01-schema/schema.sql @@ -41,7 +41,7 @@ CREATE TABLE dbo.UserAccount Timer ROWVERSION, - CONSTRAINT PK_UserAccount + CONSTRAINT PK_UserAccount PRIMARY KEY (UserAccountID), CONSTRAINT AK_Username @@ -125,16 +125,16 @@ CREATE TABLE UserVerification -- delete verification data when user account is d UserAccountID UNIQUEIDENTIFIER NOT NULL, VerificationDateTime DATETIME NOT NULL - CONSTRAINT DF_VerificationDateTime + CONSTRAINT DF_VerificationDateTime DEFAULT GETDATE(), Timer ROWVERSION, - CONSTRAINT PK_UserVerification + CONSTRAINT PK_UserVerification PRIMARY KEY (UserVerificationID), - CONSTRAINT FK_UserVerification_UserAccount - FOREIGN KEY (UserAccountID) + CONSTRAINT FK_UserVerification_UserAccount + FOREIGN KEY (UserAccountID) REFERENCES UserAccount(UserAccountID) ON DELETE CASCADE, @@ -169,7 +169,7 @@ CREATE TABLE UserCredential -- delete credentials when user account is deleted RevokedAt DATETIME NULL, - Timer ROWVERSION, + Timer ROWVERSION, CONSTRAINT PK_UserCredential PRIMARY KEY (UserCredentialID), @@ -204,7 +204,7 @@ CREATE TABLE UserFollow PRIMARY KEY (UserFollowID), CONSTRAINT FK_UserFollow_UserAccount - FOREIGN KEY (UserAccountID) + FOREIGN KEY (UserAccountID) REFERENCES UserAccount(UserAccountID), CONSTRAINT FK_UserFollow_UserAccountFollowing @@ -215,7 +215,7 @@ CREATE TABLE UserFollow CHECK (UserAccountID != FollowingID) ); -CREATE NONCLUSTERED INDEX IX_UserFollow_UserAccount_FollowingID +CREATE NONCLUSTERED INDEX IX_UserFollow_UserAccount_FollowingID ON UserFollow(UserAccountID, FollowingID); CREATE NONCLUSTERED INDEX IX_UserFollow_FollowingID_UserAccount @@ -232,15 +232,15 @@ CREATE TABLE Country CountryName NVARCHAR(100) NOT NULL, - ISO3616_1 CHAR(2) NOT NULL, + ISO3166_1 CHAR(2) NOT NULL, Timer ROWVERSION, CONSTRAINT PK_Country PRIMARY KEY (CountryID), - CONSTRAINT AK_Country_ISO3616_1 - UNIQUE (ISO3616_1) + CONSTRAINT AK_Country_ISO3166_1 + UNIQUE (ISO3166_1) ); ---------------------------------------------------------------------------- @@ -253,7 +253,7 @@ CREATE TABLE StateProvince StateProvinceName NVARCHAR(100) NOT NULL, - ISO3616_2 CHAR(6) NOT NULL, + ISO3166_2 CHAR(6) NOT NULL, -- eg 'US-CA' for California, 'CA-ON' for Ontario CountryID UNIQUEIDENTIFIER NOT NULL, @@ -263,8 +263,8 @@ CREATE TABLE StateProvince CONSTRAINT PK_StateProvince PRIMARY KEY (StateProvinceID), - CONSTRAINT AK_StateProvince_ISO3616_2 - UNIQUE (ISO3616_2), + CONSTRAINT AK_StateProvince_ISO3166_2 + UNIQUE (ISO3166_2), CONSTRAINT FK_StateProvince_Country FOREIGN KEY (CountryID) @@ -319,7 +319,7 @@ CREATE TABLE BreweryPost -- A user cannot be deleted if they have a post Timer ROWVERSION, - CONSTRAINT PK_BreweryPost + CONSTRAINT PK_BreweryPost PRIMARY KEY (BreweryPostID), CONSTRAINT FK_BreweryPost_UserAccount @@ -334,7 +334,8 @@ CREATE NONCLUSTERED INDEX IX_BreweryPost_PostedByID ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- -CREATE TABLE BreweryPostLocation ( +CREATE TABLE BreweryPostLocation +( BreweryPostLocationID UNIQUEIDENTIFIER CONSTRAINT DF_BreweryPostLocationID DEFAULT NEWID(), @@ -458,7 +459,7 @@ CREATE TABLE BeerPost Timer ROWVERSION, - CONSTRAINT PK_BeerPost + CONSTRAINT PK_BeerPost PRIMARY KEY (BeerPostID), CONSTRAINT FK_BeerPost_PostedBy @@ -473,10 +474,10 @@ CREATE TABLE BeerPost FOREIGN KEY (BrewedByID) REFERENCES BreweryPost(BreweryPostID), - CONSTRAINT CHK_BeerPost_ABV + CONSTRAINT CHK_BeerPost_ABV CHECK (ABV >= 0 AND ABV <= 67), - CONSTRAINT CHK_BeerPost_IBU + CONSTRAINT CHK_BeerPost_IBU CHECK (IBU >= 0 AND IBU <= 120) ); diff --git a/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetCountryIdByCode.sql b/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetCountryIdByCode.sql index fb0c080..e341a35 100644 --- a/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetCountryIdByCode.sql +++ b/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetCountryIdByCode.sql @@ -9,7 +9,7 @@ BEGIN SELECT @CountryId = CountryID FROM dbo.Country - WHERE ISO3616_1 = @CountryCode; + WHERE ISO3166_1 = @CountryCode; RETURN @CountryId; END; diff --git a/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetStateProvinceIdByCode.sql b/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetStateProvinceIdByCode.sql index 0bc6ef1..1f4bc20 100644 --- a/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetStateProvinceIdByCode.sql +++ b/src/Core/Database/Database.Migrations/scripts/02-functions/UDF_GetStateProvinceIdByCode.sql @@ -8,6 +8,6 @@ BEGIN DECLARE @StateProvinceId UNIQUEIDENTIFIER; SELECT @StateProvinceId = StateProvinceID FROM dbo.StateProvince - WHERE ISO3616_2 = @StateProvinceCode; + WHERE ISO3166_2 = @StateProvinceCode; RETURN @StateProvinceId; END; diff --git a/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateCountry.sql b/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateCountry.sql index e321746..c548872 100644 --- a/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateCountry.sql +++ b/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateCountry.sql @@ -1,6 +1,6 @@ CREATE OR ALTER PROCEDURE dbo.USP_CreateCountry( @CountryName NVARCHAR(100), - @ISO3616_1 NVARCHAR(2) + @ISO3166_1 NVARCHAR(2) ) AS BEGIN @@ -9,12 +9,13 @@ BEGIN BEGIN TRANSACTION; IF EXISTS (SELECT 1 - FROM dbo.Country - WHERE ISO3616_1 = @ISO3616_1) + FROM dbo.Country + WHERE ISO3166_1 = @ISO3166_1) THROW 50001, 'Country already exists', 1; INSERT INTO dbo.Country - (CountryName, ISO3616_1) - VALUES (@CountryName, @ISO3616_1); + (CountryName, ISO3166_1) + VALUES + (@CountryName, @ISO3166_1); COMMIT TRANSACTION; END; diff --git a/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateStateProvince.sql b/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateStateProvince.sql index 39e55c1..de1e369 100644 --- a/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateStateProvince.sql +++ b/src/Core/Database/Database.Migrations/scripts/03-crud/04-Location/USP_CreateStateProvince.sql @@ -1,6 +1,6 @@ CREATE OR ALTER PROCEDURE dbo.USP_CreateStateProvince( @StateProvinceName NVARCHAR(100), - @ISO3616_2 NVARCHAR(6), + @ISO3166_2 NVARCHAR(6), @CountryCode NVARCHAR(2) ) AS @@ -9,18 +9,19 @@ BEGIN SET XACT_ABORT ON; IF EXISTS (SELECT 1 - FROM dbo.StateProvince - WHERE ISO3616_2 = @ISO3616_2) + FROM dbo.StateProvince + WHERE ISO3166_2 = @ISO3166_2) RETURN; DECLARE @CountryId UNIQUEIDENTIFIER = dbo.UDF_GetCountryIdByCode(@CountryCode); IF @CountryId IS NULL BEGIN - THROW 50001, 'Country does not exist', 1; + THROW 50001, 'Country does not exist', 1; - END +END - INSERT INTO dbo.StateProvince - (StateProvinceName, ISO3616_2, CountryID) - VALUES (@StateProvinceName, @ISO3616_2, @CountryId); +INSERT INTO dbo.StateProvince + (StateProvinceName, ISO3166_2, CountryID) +VALUES + (@StateProvinceName, @ISO3166_2, @CountryId); END; diff --git a/src/Core/Database/Database.Seed/LocationSeeder.cs b/src/Core/Database/Database.Seed/LocationSeeder.cs index 9e42050..c08daa2 100644 --- a/src/Core/Database/Database.Seed/LocationSeeder.cs +++ b/src/Core/Database/Database.Seed/LocationSeeder.cs @@ -277,7 +277,7 @@ internal class LocationSeeder : ISeeder ); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@CountryName", countryName); - command.Parameters.AddWithValue("@ISO3616_1", countryCode); + command.Parameters.AddWithValue("@ISO3166_1", countryCode); await command.ExecuteNonQueryAsync(); } @@ -298,7 +298,7 @@ internal class LocationSeeder : ISeeder "@StateProvinceName", stateProvinceName ); - command.Parameters.AddWithValue("@ISO3616_2", stateProvinceCode); + command.Parameters.AddWithValue("@ISO3166_2", stateProvinceCode); command.Parameters.AddWithValue("@CountryCode", countryCode); await command.ExecuteNonQueryAsync(); @@ -323,4 +323,4 @@ internal class LocationSeeder : ISeeder await command.ExecuteNonQueryAsync(); } -} \ No newline at end of file +}