PI06 i PI06-1. Docker definitions for MSSQL and Postgres. Data seeder/generator for countries and people. Entity Framework example with variants for Postgres and MSSQL

This commit is contained in:
Boris Milašinović
2026-04-19 16:49:07 +02:00
parent 44a663e170
commit 6f56d107a2
89 changed files with 7305 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
IF DB_ID(N'$(MSSQL_DB)') IS NULL
BEGIN
DECLARE @createDatabase nvarchar(max) =
N'CREATE DATABASE [' + REPLACE(N'$(MSSQL_DB)', N']', N']]') + N'] COLLATE $(MSSQL_COLLATION);';
EXEC (@createDatabase);
END;
GO
USE [$(MSSQL_DB)];
GO
IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE name = N'$(APP_DB_USER)')
BEGIN
DECLARE @createLogin nvarchar(max) =
N'CREATE LOGIN [' + REPLACE(N'$(APP_DB_USER)', N']', N']]') + N'] WITH PASSWORD = N''$(APP_DB_PASSWORD)'', CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF;';
EXEC (@createLogin);
END;
GO
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = N'$(APP_DB_USER)')
BEGIN
DECLARE @createUser nvarchar(max) =
N'CREATE USER [' + REPLACE(N'$(APP_DB_USER)', N']', N']]') + N'] FOR LOGIN [' + REPLACE(N'$(APP_DB_USER)', N']', N']]') + N'];';
EXEC (@createUser);
END;
GO
IF NOT EXISTS (
SELECT 1
FROM sys.database_role_members drm
INNER JOIN sys.database_principals role_principal ON role_principal.principal_id = drm.role_principal_id
INNER JOIN sys.database_principals member_principal ON member_principal.principal_id = drm.member_principal_id
WHERE role_principal.name = N'db_datareader'
AND member_principal.name = N'$(APP_DB_USER)'
)
BEGIN
ALTER ROLE db_datareader ADD MEMBER [$(APP_DB_USER)];
END;
GO
IF NOT EXISTS (
SELECT 1
FROM sys.database_role_members drm
INNER JOIN sys.database_principals role_principal ON role_principal.principal_id = drm.role_principal_id
INNER JOIN sys.database_principals member_principal ON member_principal.principal_id = drm.member_principal_id
WHERE role_principal.name = N'db_datawriter'
AND member_principal.name = N'$(APP_DB_USER)'
)
BEGIN
ALTER ROLE db_datawriter ADD MEMBER [$(APP_DB_USER)];
END;
GO

View File

@@ -0,0 +1,64 @@
USE [$(MSSQL_DB)];
GO
CREATE TABLE dbo.Country (
Code varchar(3) NOT NULL,
Alpha3 char(3) NOT NULL,
Name varchar(100) NOT NULL,
Translations nvarchar(max) NULL,
CONSTRAINT PK_Country PRIMARY KEY CLUSTERED (Code),
CONSTRAINT UQ_Country_Name UNIQUE (Name),
CONSTRAINT CK_Country_Translations_Json CHECK (Translations IS NULL OR ISJSON(Translations) = 1)
);
GO
CREATE TABLE dbo.Person (
Id int IDENTITY(1,1) NOT NULL,
FirstName varchar(100) NOT NULL,
LastName varchar(100) NOT NULL,
FirstNameTranscription varchar(100) NOT NULL,
LastNameTranscription varchar(100) NOT NULL,
AddressLine varchar(200) NOT NULL,
PostalCode varchar(20) NOT NULL,
City varchar(100) NOT NULL,
AddressCountry varchar(100) NOT NULL,
Email varchar(255) NOT NULL,
ContactPhone varchar(50) NOT NULL,
BirthDate date NOT NULL,
DocumentNumber varchar(50) NOT NULL,
CountryCode varchar(3) NOT NULL,
CONSTRAINT PK_Person PRIMARY KEY CLUSTERED (Id),
CONSTRAINT FK_Person_Country FOREIGN KEY (CountryCode) REFERENCES dbo.Country(Code),
CONSTRAINT UQ_Person_DocumentNumber_CountryCode UNIQUE (DocumentNumber, CountryCode)
);
GO
CREATE TABLE dbo.Sport (
Id int IDENTITY(1,1) NOT NULL,
Name varchar(100) NOT NULL,
CONSTRAINT PK_Sport PRIMARY KEY CLUSTERED (Id),
CONSTRAINT UQ_Sport_Name UNIQUE (Name)
);
GO
CREATE TABLE dbo.Event (
Id int IDENTITY(1,1) NOT NULL,
Name varchar(150) NOT NULL,
EventDate date NOT NULL,
CONSTRAINT PK_Event PRIMARY KEY CLUSTERED (Id)
);
GO
CREATE TABLE dbo.Registration (
Id int IDENTITY(1,1) NOT NULL,
PersonId int NOT NULL,
SportId int NOT NULL,
EventId int NOT NULL,
RegisteredAt datetime2 NOT NULL CONSTRAINT DF_Registration_RegisteredAt DEFAULT SYSDATETIME(),
CONSTRAINT PK_Registration PRIMARY KEY CLUSTERED (Id),
CONSTRAINT FK_Registration_Person FOREIGN KEY (PersonId) REFERENCES dbo.Person(Id) ON DELETE CASCADE,
CONSTRAINT FK_Registration_Sport FOREIGN KEY (SportId) REFERENCES dbo.Sport(Id) ON DELETE CASCADE,
CONSTRAINT FK_Registration_Event FOREIGN KEY (EventId) REFERENCES dbo.Event(Id) ON DELETE CASCADE,
CONSTRAINT UQ_Registration_PersonId_SportId_EventId UNIQUE (PersonId, SportId, EventId)
);
GO

View File

@@ -0,0 +1,8 @@
USE [$(MSSQL_DB)];
GO
INSERT INTO dbo.Event (Name, EventDate) VALUES
('Union Games', '2026-03-12'),
('Faculty Meetup', '2026-04-25'),
('City Cup', '2026-06-03'),
('Research Forum', '2026-09-18');

View File

@@ -0,0 +1,254 @@
USE [$(MSSQL_DB)];
GO
INSERT INTO dbo.Country (Code, Alpha3, Name, Translations) VALUES
('AD', 'AND', 'Andorra', '{"hr": "Andora", "mk": "Андора"}'),
('AE', 'ARE', 'United Arab Emirates', '{"hr": "Ujedinjeni Arapski Emirati", "mk": "Обединети Арапски Емирати"}'),
('AF', 'AFG', 'Afghanistan', '{"hr": "Afganistan", "mk": "Авганистан"}'),
('AG', 'ATG', 'Antigua and Barbuda', '{"hr": "Antigva i Barbuda", "mk": "Антига и Барбуда"}'),
('AI', 'AIA', 'Anguilla', '{"hr": "Angvila", "mk": "Ангвила"}'),
('AL', 'ALB', 'Albania', '{"hr": "Albanija", "mk": "Албанија"}'),
('AM', 'ARM', 'Armenia', '{"hr": "Armenija", "mk": "Ерменија"}'),
('AO', 'AGO', 'Angola', '{"hr": "Angola", "mk": "Ангола"}'),
('AQ', 'ATA', 'Antarctica', '{"hr": "Antarktika", "mk": "Антарктик"}'),
('AR', 'ARG', 'Argentina', '{"hr": "Argentina", "mk": "Аргентина"}'),
('AS', 'ASM', 'American Samoa', '{"hr": "Američka Samoa", "mk": "Американска Самоа"}'),
('AT', 'AUT', 'Austria', '{"hr": "Austrija", "mk": "Австрија"}'),
('AU', 'AUS', 'Australia', '{"hr": "Australija", "mk": "Австралија"}'),
('AW', 'ABW', 'Aruba', '{"hr": "Aruba", "mk": "Аруба"}'),
('AX', 'ALA', 'Åland Islands', '{"hr": "Ålandski otoci", "mk": "Оландски Острови"}'),
('AZ', 'AZE', 'Azerbaijan', '{"hr": "Azerbajdžan", "mk": "Азербејџан"}'),
('BA', 'BIH', 'Bosnia and Herzegovina', '{"hr": "Bosna i Hercegovina", "mk": "Босна и Херцеговина"}'),
('BB', 'BRB', 'Barbados', '{"hr": "Barbados", "mk": "Барбадос"}'),
('BD', 'BGD', 'Bangladesh', '{"hr": "Bangladeš", "mk": "Бангладеш"}'),
('BE', 'BEL', 'Belgium', '{"hr": "Belgija", "mk": "Белгија"}'),
('BF', 'BFA', 'Burkina Faso', '{"hr": "Burkina Faso", "mk": "Буркина Фасо"}'),
('BG', 'BGR', 'Bulgaria', '{"hr": "Bugarska", "mk": "Бугарија"}'),
('BH', 'BHR', 'Bahrain', '{"hr": "Bahrein", "mk": "Бахреин"}'),
('BI', 'BDI', 'Burundi', '{"hr": "Burundi", "mk": "Бурунди"}'),
('BJ', 'BEN', 'Benin', '{"hr": "Benin", "mk": "Бенин"}'),
('BL', 'BLM', 'Saint Barthélemy', '{"hr": "Saint Barthélemy", "mk": "Свети Вартоломеј"}'),
('BM', 'BMU', 'Bermuda', '{"hr": "Bermudi", "mk": "Бермуди"}'),
('BN', 'BRN', 'Brunei Darussalam', '{"hr": "Brunej", "mk": "Брунеј"}'),
('BO', 'BOL', 'Bolivia', '{"hr": "Bolivija", "mk": "Боливија"}'),
('BQ', 'BES', 'Bonaire, Sint Eustatius and Saba', '{"hr": "Karipski otoci Nizozemske", "mk": "Карипска Холандија"}'),
('BR', 'BRA', 'Brazil', '{"hr": "Brazil", "mk": "Бразил"}'),
('BS', 'BHS', 'Bahamas', '{"hr": "Bahami", "mk": "Бахами"}'),
('BT', 'BTN', 'Bhutan', '{"hr": "Butan", "mk": "Бутан"}'),
('BV', 'BVT', 'Bouvet Island', '{"hr": "Otok Bouvet", "mk": "Остров Буве"}'),
('BW', 'BWA', 'Botswana', '{"hr": "Bocvana", "mk": "Боцвана"}'),
('BY', 'BLR', 'Belarus', '{"hr": "Bjelorusija", "mk": "Белорусија"}'),
('BZ', 'BLZ', 'Belize', '{"hr": "Belize", "mk": "Белизе"}'),
('CA', 'CAN', 'Canada', '{"hr": "Kanada", "mk": "Канада"}'),
('CC', 'CCK', 'Cocos (Keeling) Islands', '{"hr": "Kokosovi (Keelingovi) Otoci", "mk": "Кокосови (Килиншки) Острови"}'),
('CD', 'COD', 'Congo, The Democratic Republic of the', '{"hr": "Kongo - Kinshasa", "mk": "Конго - Киншаса"}'),
('CF', 'CAF', 'Central African Republic', '{"hr": "Srednjoafrička Republika", "mk": "Централноафриканска Република"}'),
('CG', 'COG', 'Congo', '{"hr": "Kongo - Brazzaville", "mk": "Конго - Бразавил"}'),
('CH', 'CHE', 'Switzerland', '{"hr": "Švicarska", "mk": "Швајцарија"}'),
('CI', 'CIV', 'Côte d''Ivoire', '{"hr": "Obala Bjelokosti", "mk": "Брегот на Слоновата Коска"}'),
('CK', 'COK', 'Cook Islands', '{"hr": "Cookovi Otoci", "mk": "Кукови Острови"}'),
('CL', 'CHL', 'Chile', '{"hr": "Čile", "mk": "Чиле"}'),
('CM', 'CMR', 'Cameroon', '{"hr": "Kamerun", "mk": "Камерун"}'),
('CN', 'CHN', 'China', '{"hr": "Kina", "mk": "Кина"}'),
('CO', 'COL', 'Colombia', '{"hr": "Kolumbija", "mk": "Колумбија"}'),
('CR', 'CRI', 'Costa Rica', '{"hr": "Kostarika", "mk": "Костарика"}'),
('CU', 'CUB', 'Cuba', '{"hr": "Kuba", "mk": "Куба"}'),
('CV', 'CPV', 'Cabo Verde', '{"hr": "Zelenortska Republika", "mk": "Кабо Верде"}'),
('CW', 'CUW', 'Curaçao', '{"hr": "Curaçao", "mk": "Курасао"}'),
('CX', 'CXR', 'Christmas Island', '{"hr": "Božićni Otok", "mk": "Божиќен Остров"}'),
('CY', 'CYP', 'Cyprus', '{"hr": "Cipar", "mk": "Кипар"}'),
('CZ', 'CZE', 'Czechia', '{"hr": "Češka", "mk": "Чешка"}'),
('DE', 'DEU', 'Germany', '{"hr": "Njemačka", "mk": "Германија"}'),
('DJ', 'DJI', 'Djibouti', '{"hr": "Džibuti", "mk": "Џибути"}'),
('DK', 'DNK', 'Denmark', '{"hr": "Danska", "mk": "Данска"}'),
('DM', 'DMA', 'Dominica', '{"hr": "Dominika", "mk": "Доминика"}'),
('DO', 'DOM', 'Dominican Republic', '{"hr": "Dominikanska Republika", "mk": "Доминиканска Република"}'),
('DZ', 'DZA', 'Algeria', '{"hr": "Alžir", "mk": "Алжир"}'),
('EC', 'ECU', 'Ecuador', '{"hr": "Ekvador", "mk": "Еквадор"}'),
('EE', 'EST', 'Estonia', '{"hr": "Estonija", "mk": "Естонија"}'),
('EG', 'EGY', 'Egypt', '{"hr": "Egipat", "mk": "Египет"}'),
('EH', 'ESH', 'Western Sahara', '{"hr": "Zapadna Sahara", "mk": "Западна Сахара"}'),
('ER', 'ERI', 'Eritrea', '{"hr": "Eritreja", "mk": "Еритреја"}'),
('ES', 'ESP', 'Spain', '{"hr": "Španjolska", "mk": "Шпанија"}'),
('ET', 'ETH', 'Ethiopia', '{"hr": "Etiopija", "mk": "Етиопија"}'),
('FI', 'FIN', 'Finland', '{"hr": "Finska", "mk": "Финска"}'),
('FJ', 'FJI', 'Fiji', '{"hr": "Fidži", "mk": "Фиџи"}'),
('FK', 'FLK', 'Falkland Islands (Malvinas)', '{"hr": "Falklandski Otoci", "mk": "Фолкландски Острови"}'),
('FM', 'FSM', 'Micronesia, Federated States of', '{"hr": "Mikronezija", "mk": "Микронезија"}'),
('FO', 'FRO', 'Faroe Islands', '{"hr": "Ovčji Otoci", "mk": "Фарски Острови"}'),
('FR', 'FRA', 'France', '{"hr": "Francuska", "mk": "Франција"}'),
('GA', 'GAB', 'Gabon', '{"hr": "Gabon", "mk": "Габон"}'),
('GB', 'GBR', 'United Kingdom', '{"hr": "Ujedinjeno Kraljevstvo", "mk": "Обединето Кралство"}'),
('GD', 'GRD', 'Grenada', '{"hr": "Grenada", "mk": "Гренада"}'),
('GE', 'GEO', 'Georgia', '{"hr": "Gruzija", "mk": "Грузија"}'),
('GF', 'GUF', 'French Guiana', '{"hr": "Francuska Gijana", "mk": "Француска Гвајана"}'),
('GG', 'GGY', 'Guernsey', '{"hr": "Guernsey", "mk": "Гернзи"}'),
('GH', 'GHA', 'Ghana', '{"hr": "Gana", "mk": "Гана"}'),
('GI', 'GIB', 'Gibraltar', '{"hr": "Gibraltar", "mk": "Гибралтар"}'),
('GL', 'GRL', 'Greenland', '{"hr": "Grenland", "mk": "Гренланд"}'),
('GM', 'GMB', 'Gambia', '{"hr": "Gambija", "mk": "Гамбија"}'),
('GN', 'GIN', 'Guinea', '{"hr": "Gvineja", "mk": "Гвинеја"}'),
('GP', 'GLP', 'Guadeloupe', '{"hr": "Guadalupe", "mk": "Гвадалупе"}'),
('GQ', 'GNQ', 'Equatorial Guinea', '{"hr": "Ekvatorska Gvineja", "mk": "Екваторска Гвинеја"}'),
('GR', 'GRC', 'Greece', '{"hr": "Grčka", "mk": "Грција"}'),
('GS', 'SGS', 'South Georgia and the South Sandwich Islands', '{"hr": "Južna Georgia i Otoci Južni Sandwich", "mk": "Јужна Џорџија и Јужни Сендвички Острови"}'),
('GT', 'GTM', 'Guatemala', '{"hr": "Gvatemala", "mk": "Гватемала"}'),
('GU', 'GUM', 'Guam', '{"hr": "Guam", "mk": "Гуам"}'),
('GW', 'GNB', 'Guinea-Bissau', '{"hr": "Gvineja Bisau", "mk": "Гвинеја Бисао"}'),
('GY', 'GUY', 'Guyana', '{"hr": "Gvajana", "mk": "Гвајана"}'),
('HK', 'HKG', 'Hong Kong', '{"hr": "PUP Hong Kong Kina", "mk": "Хонгконг САР Кина"}'),
('HM', 'HMD', 'Heard Island and McDonald Islands', '{"hr": "Otoci Heard i McDonald", "mk": "Остров Херд и Острови Мекдоналд"}'),
('HN', 'HND', 'Honduras', '{"hr": "Honduras", "mk": "Хондурас"}'),
('HR', 'HRV', 'Croatia', '{"hr": "Hrvatska", "mk": "Хрватска"}'),
('HT', 'HTI', 'Haiti', '{"hr": "Haiti", "mk": "Хаити"}'),
('HU', 'HUN', 'Hungary', '{"hr": "Mađarska", "mk": "Унгарија"}'),
('ID', 'IDN', 'Indonesia', '{"hr": "Indonezija", "mk": "Индонезија"}'),
('IE', 'IRL', 'Ireland', '{"hr": "Irska", "mk": "Ирска"}'),
('IL', 'ISR', 'Israel', '{"hr": "Izrael", "mk": "Израел"}'),
('IM', 'IMN', 'Isle of Man', '{"hr": "Otok Man", "mk": "Остров Ман"}'),
('IN', 'IND', 'India', '{"hr": "Indija", "mk": "Индија"}'),
('IO', 'IOT', 'British Indian Ocean Territory', '{"hr": "Britanski Indijskooceanski Teritorij", "mk": "Британска Индоокеанска Територија"}'),
('IQ', 'IRQ', 'Iraq', '{"hr": "Irak", "mk": "Ирак"}'),
('IR', 'IRN', 'Iran', '{"hr": "Iran", "mk": "Иран"}'),
('IS', 'ISL', 'Iceland', '{"hr": "Island", "mk": "Исланд"}'),
('IT', 'ITA', 'Italy', '{"hr": "Italija", "mk": "Италија"}'),
('JE', 'JEY', 'Jersey', '{"hr": "Jersey", "mk": "Џерси"}'),
('JM', 'JAM', 'Jamaica', '{"hr": "Jamajka", "mk": "Јамајка"}'),
('JO', 'JOR', 'Jordan', '{"hr": "Jordan", "mk": "Јордан"}'),
('JP', 'JPN', 'Japan', '{"hr": "Japan", "mk": "Јапонија"}'),
('KE', 'KEN', 'Kenya', '{"hr": "Kenija", "mk": "Кенија"}'),
('KG', 'KGZ', 'Kyrgyzstan', '{"hr": "Kirgistan", "mk": "Киргистан"}'),
('KH', 'KHM', 'Cambodia', '{"hr": "Kambodža", "mk": "Камбоџа"}'),
('KI', 'KIR', 'Kiribati', '{"hr": "Kiribati", "mk": "Кирибати"}'),
('KM', 'COM', 'Comoros', '{"hr": "Komori", "mk": "Коморски Острови"}'),
('KN', 'KNA', 'Saint Kitts and Nevis', '{"hr": "Sveti Kristofor i Nevis", "mk": "Свети Китс и Невис"}'),
('KP', 'PRK', 'North Korea', '{"hr": "Sjeverna Koreja", "mk": "Северна Кореја"}'),
('KR', 'KOR', 'South Korea', '{"hr": "Južna Koreja", "mk": "Јужна Кореја"}'),
('KW', 'KWT', 'Kuwait', '{"hr": "Kuvajt", "mk": "Кувајт"}'),
('KY', 'CYM', 'Cayman Islands', '{"hr": "Kajmanski Otoci", "mk": "Кајмански Острови"}'),
('KZ', 'KAZ', 'Kazakhstan', '{"hr": "Kazahstan", "mk": "Казахстан"}'),
('LA', 'LAO', 'Laos', '{"hr": "Laos", "mk": "Лаос"}'),
('LB', 'LBN', 'Lebanon', '{"hr": "Libanon", "mk": "Либан"}'),
('LC', 'LCA', 'Saint Lucia', '{"hr": "Sveta Lucija", "mk": "Сент Лусија"}'),
('LI', 'LIE', 'Liechtenstein', '{"hr": "Lihtenštajn", "mk": "Лихтенштајн"}'),
('LK', 'LKA', 'Sri Lanka', '{"hr": "Šri Lanka", "mk": "Шри Ланка"}'),
('LR', 'LBR', 'Liberia', '{"hr": "Liberija", "mk": "Либерија"}'),
('LS', 'LSO', 'Lesotho', '{"hr": "Lesoto", "mk": "Лесото"}'),
('LT', 'LTU', 'Lithuania', '{"hr": "Litva", "mk": "Литванија"}'),
('LU', 'LUX', 'Luxembourg', '{"hr": "Luksemburg", "mk": "Луксембург"}'),
('LV', 'LVA', 'Latvia', '{"hr": "Latvija", "mk": "Латвија"}'),
('LY', 'LBY', 'Libya', '{"hr": "Libija", "mk": "Либија"}'),
('MA', 'MAR', 'Morocco', '{"hr": "Maroko", "mk": "Мароко"}'),
('MC', 'MCO', 'Monaco', '{"hr": "Monako", "mk": "Монако"}'),
('MD', 'MDA', 'Moldova', '{"hr": "Moldavija", "mk": "Молдавија"}'),
('ME', 'MNE', 'Montenegro', '{"hr": "Crna Gora", "mk": "Црна Гора"}'),
('MF', 'MAF', 'Saint Martin (French part)', '{"hr": "Saint Martin", "mk": "Сент Мартин"}'),
('MG', 'MDG', 'Madagascar', '{"hr": "Madagaskar", "mk": "Мадагаскар"}'),
('MH', 'MHL', 'Marshall Islands', '{"hr": "Maršalovi Otoci", "mk": "Маршалски Острови"}'),
('MK', 'MKD', 'North Macedonia', '{"hr": "Sjeverna Makedonija", "mk": "Северна Македонија"}'),
('ML', 'MLI', 'Mali', '{"hr": "Mali", "mk": "Мали"}'),
('MM', 'MMR', 'Myanmar', '{"hr": "Mjanmar (Burma)", "mk": "Мјанмар (Бурма)"}'),
('MN', 'MNG', 'Mongolia', '{"hr": "Mongolija", "mk": "Монголија"}'),
('MO', 'MAC', 'Macao', '{"hr": "PUP Makao Kina", "mk": "Макао САР"}'),
('MP', 'MNP', 'Northern Mariana Islands', '{"hr": "Sjevernomarijanski Otoci", "mk": "Северни Маријански Острови"}'),
('MQ', 'MTQ', 'Martinique', '{"hr": "Martinik", "mk": "Мартиник"}'),
('MR', 'MRT', 'Mauritania', '{"hr": "Mauretanija", "mk": "Мавританија"}'),
('MS', 'MSR', 'Montserrat', '{"hr": "Montserrat", "mk": "Монсерат"}'),
('MT', 'MLT', 'Malta', '{"hr": "Malta", "mk": "Малта"}'),
('MU', 'MUS', 'Mauritius', '{"hr": "Mauricijus", "mk": "Маврициус"}'),
('MV', 'MDV', 'Maldives', '{"hr": "Maldivi", "mk": "Малдиви"}'),
('MW', 'MWI', 'Malawi', '{"hr": "Malavi", "mk": "Малави"}'),
('MX', 'MEX', 'Mexico', '{"hr": "Meksiko", "mk": "Мексико"}'),
('MY', 'MYS', 'Malaysia', '{"hr": "Malezija", "mk": "Малезија"}'),
('MZ', 'MOZ', 'Mozambique', '{"hr": "Mozambik", "mk": "Мозамбик"}'),
('NA', 'NAM', 'Namibia', '{"hr": "Namibija", "mk": "Намибија"}'),
('NC', 'NCL', 'New Caledonia', '{"hr": "Nova Kaledonija", "mk": "Нова Каледонија"}'),
('NE', 'NER', 'Niger', '{"hr": "Niger", "mk": "Нигер"}'),
('NF', 'NFK', 'Norfolk Island', '{"hr": "Otok Norfolk", "mk": "Норфолшки Остров"}'),
('NG', 'NGA', 'Nigeria', '{"hr": "Nigerija", "mk": "Нигерија"}'),
('NI', 'NIC', 'Nicaragua', '{"hr": "Nikaragva", "mk": "Никарагва"}'),
('NL', 'NLD', 'Netherlands', '{"hr": "Nizozemska", "mk": "Холандија"}'),
('NO', 'NOR', 'Norway', '{"hr": "Norveška", "mk": "Норвешка"}'),
('NP', 'NPL', 'Nepal', '{"hr": "Nepal", "mk": "Непал"}'),
('NR', 'NRU', 'Nauru', '{"hr": "Nauru", "mk": "Науру"}'),
('NU', 'NIU', 'Niue', '{"hr": "Niue", "mk": "Ниује"}'),
('NZ', 'NZL', 'New Zealand', '{"hr": "Novi Zeland", "mk": "Нов Зеланд"}'),
('OM', 'OMN', 'Oman', '{"hr": "Oman", "mk": "Оман"}'),
('PA', 'PAN', 'Panama', '{"hr": "Panama", "mk": "Панама"}'),
('PE', 'PER', 'Peru', '{"hr": "Peru", "mk": "Перу"}'),
('PF', 'PYF', 'French Polynesia', '{"hr": "Francuska Polinezija", "mk": "Француска Полинезија"}'),
('PG', 'PNG', 'Papua New Guinea', '{"hr": "Papua Nova Gvineja", "mk": "Папуа Нова Гвинеја"}'),
('PH', 'PHL', 'Philippines', '{"hr": "Filipini", "mk": "Филипини"}'),
('PK', 'PAK', 'Pakistan', '{"hr": "Pakistan", "mk": "Пакистан"}'),
('PL', 'POL', 'Poland', '{"hr": "Poljska", "mk": "Полска"}'),
('PM', 'SPM', 'Saint Pierre and Miquelon', '{"hr": "Sveti Petar i Mikelon", "mk": "Сент Пјер и Микелан"}'),
('PN', 'PCN', 'Pitcairn', '{"hr": "Pitcairnovi Otoci", "mk": "Питкернски Острови"}'),
('PR', 'PRI', 'Puerto Rico', '{"hr": "Portoriko", "mk": "Порторико"}'),
('PS', 'PSE', 'Palestine, State of', '{"hr": "Palestinsko područje", "mk": "Палестински Територии"}'),
('PT', 'PRT', 'Portugal', '{"hr": "Portugal", "mk": "Португалија"}'),
('PW', 'PLW', 'Palau', '{"hr": "Palau", "mk": "Палау"}'),
('PY', 'PRY', 'Paraguay', '{"hr": "Paragvaj", "mk": "Парагвај"}'),
('QA', 'QAT', 'Qatar', '{"hr": "Katar", "mk": "Катар"}'),
('RE', 'REU', 'Réunion', '{"hr": "Réunion", "mk": "Рејунион"}'),
('RO', 'ROU', 'Romania', '{"hr": "Rumunjska", "mk": "Романија"}'),
('RS', 'SRB', 'Serbia', '{"hr": "Srbija", "mk": "Србија"}'),
('RU', 'RUS', 'Russian Federation', '{"hr": "Rusija", "mk": "Русија"}'),
('RW', 'RWA', 'Rwanda', '{"hr": "Ruanda", "mk": "Руанда"}'),
('SA', 'SAU', 'Saudi Arabia', '{"hr": "Saudijska Arabija", "mk": "Саудиска Арабија"}'),
('SB', 'SLB', 'Solomon Islands', '{"hr": "Salomonovi Otoci", "mk": "Соломонски Острови"}'),
('SC', 'SYC', 'Seychelles', '{"hr": "Sejšeli", "mk": "Сејшели"}'),
('SD', 'SDN', 'Sudan', '{"hr": "Sudan", "mk": "Судан"}'),
('SE', 'SWE', 'Sweden', '{"hr": "Švedska", "mk": "Шведска"}'),
('SG', 'SGP', 'Singapore', '{"hr": "Singapur", "mk": "Сингапур"}'),
('SH', 'SHN', 'Saint Helena, Ascension and Tristan da Cunha', '{"hr": "Sveta Helena", "mk": "Света Елена"}'),
('SI', 'SVN', 'Slovenia', '{"hr": "Slovenija", "mk": "Словенија"}'),
('SJ', 'SJM', 'Svalbard and Jan Mayen', '{"hr": "Svalbard i Jan Mayen", "mk": "Свалбард и Јан Мајен"}'),
('SK', 'SVK', 'Slovakia', '{"hr": "Slovačka", "mk": "Словачка"}'),
('SL', 'SLE', 'Sierra Leone', '{"hr": "Sijera Leone", "mk": "Сиера Леоне"}'),
('SM', 'SMR', 'San Marino', '{"hr": "San Marino", "mk": "Сан Марино"}'),
('SN', 'SEN', 'Senegal', '{"hr": "Senegal", "mk": "Сенегал"}'),
('SO', 'SOM', 'Somalia', '{"hr": "Somalija", "mk": "Сомалија"}'),
('SR', 'SUR', 'Suriname', '{"hr": "Surinam", "mk": "Суринам"}'),
('SS', 'SSD', 'South Sudan', '{"hr": "Južni Sudan", "mk": "Јужен Судан"}'),
('ST', 'STP', 'Sao Tome and Principe', '{"hr": "Sveti Toma i Princip", "mk": "Саун Томе и Принсип"}'),
('SV', 'SLV', 'El Salvador', '{"hr": "Salvador", "mk": "Ел Салвадор"}'),
('SX', 'SXM', 'Sint Maarten (Dutch part)', '{"hr": "Sint Maarten", "mk": "Свети Мартин"}'),
('SY', 'SYR', 'Syria', '{"hr": "Sirija", "mk": "Сирија"}'),
('SZ', 'SWZ', 'Eswatini', '{"hr": "Esvatini", "mk": "Свазиленд"}'),
('TC', 'TCA', 'Turks and Caicos Islands', '{"hr": "Otoci Turks i Caicos", "mk": "Острови Туркс и Каикос"}'),
('TD', 'TCD', 'Chad', '{"hr": "Čad", "mk": "Чад"}'),
('TF', 'ATF', 'French Southern Territories', '{"hr": "Francuski Južni Teritoriji", "mk": "Француски Јужни Територии"}'),
('TG', 'TGO', 'Togo', '{"hr": "Togo", "mk": "Того"}'),
('TH', 'THA', 'Thailand', '{"hr": "Tajland", "mk": "Тајланд"}'),
('TJ', 'TJK', 'Tajikistan', '{"hr": "Tadžikistan", "mk": "Таџикистан"}'),
('TK', 'TKL', 'Tokelau', '{"hr": "Tokelau", "mk": "Токелау"}'),
('TL', 'TLS', 'Timor-Leste', '{"hr": "Timor-Leste", "mk": "Тимор Лесте"}'),
('TM', 'TKM', 'Turkmenistan', '{"hr": "Turkmenistan", "mk": "Туркменистан"}'),
('TN', 'TUN', 'Tunisia', '{"hr": "Tunis", "mk": "Тунис"}'),
('TO', 'TON', 'Tonga', '{"hr": "Tonga", "mk": "Тонга"}'),
('TR', 'TUR', 'Türkiye', '{"hr": "Turska", "mk": "Турција"}'),
('TT', 'TTO', 'Trinidad and Tobago', '{"hr": "Trinidad i Tobago", "mk": "Тринидад и Тобаго"}'),
('TV', 'TUV', 'Tuvalu', '{"hr": "Tuvalu", "mk": "Тувалу"}'),
('TW', 'TWN', 'Taiwan', '{"hr": "Tajvan", "mk": "Тајван"}'),
('TZ', 'TZA', 'Tanzania', '{"hr": "Tanzanija", "mk": "Танзанија"}'),
('UA', 'UKR', 'Ukraine', '{"hr": "Ukrajina", "mk": "Украина"}'),
('UG', 'UGA', 'Uganda', '{"hr": "Uganda", "mk": "Уганда"}'),
('UM', 'UMI', 'United States Minor Outlying Islands', '{"hr": "Mali udaljeni otoci SAD-a", "mk": "Американски територии во Пацификот"}'),
('US', 'USA', 'United States', '{"hr": "Sjedinjene Američke Države", "mk": "Соединети Американски Држави"}'),
('UY', 'URY', 'Uruguay', '{"hr": "Urugvaj", "mk": "Уругвај"}'),
('UZ', 'UZB', 'Uzbekistan', '{"hr": "Uzbekistan", "mk": "Узбекистан"}'),
('VA', 'VAT', 'Holy See (Vatican City State)', '{"hr": "Vatikan", "mk": "Ватикан"}'),
('VC', 'VCT', 'Saint Vincent and the Grenadines', '{"hr": "Sveti Vincent i Grenadini", "mk": "Сент Винсент и Гренадини"}'),
('VE', 'VEN', 'Venezuela', '{"hr": "Venezuela", "mk": "Венецуела"}'),
('VG', 'VGB', 'Virgin Islands, British', '{"hr": "Britanski Djevičanski Otoci", "mk": "Британски Девствени Острови"}'),
('VI', 'VIR', 'Virgin Islands, U.S.', '{"hr": "Američki Djevičanski Otoci", "mk": "Американски Девствени Острови"}'),
('VN', 'VNM', 'Vietnam', '{"hr": "Vijetnam", "mk": "Виетнам"}'),
('VU', 'VUT', 'Vanuatu', '{"hr": "Vanuatu", "mk": "Вануату"}'),
('WF', 'WLF', 'Wallis and Futuna', '{"hr": "Wallis i Futuna", "mk": "Валис и Футуна"}'),
('WS', 'WSM', 'Samoa', '{"hr": "Samoa", "mk": "Самоа"}'),
('XK', 'XKX', 'Kosovo', '{"hr": "Kosovo", "mk": "Косово"}'),
('YE', 'YEM', 'Yemen', '{"hr": "Jemen", "mk": "Јемен"}'),
('YT', 'MYT', 'Mayotte', '{"hr": "Mayotte", "mk": "Мајот"}'),
('ZA', 'ZAF', 'South Africa', '{"hr": "Južnoafrička Republika", "mk": "Јужноафриканска Република"}'),
('ZM', 'ZMB', 'Zambia', '{"hr": "Zambija", "mk": "Замбија"}'),
('ZW', 'ZWE', 'Zimbabwe', '{"hr": "Zimbabve", "mk": "Зимбабве"}');

View File

@@ -0,0 +1,13 @@
USE [$(MSSQL_DB)];
GO
INSERT INTO dbo.Sport (Name) VALUES
('Running'),
('Darts'),
('Bowling'),
('Table Tennis'),
('Chess'),
('Pikado'),
('Mini Golf'),
('Swimming'),
('Cycling');

File diff suppressed because it is too large Load Diff