Simple MVC CRUD. Remove NOT NULL on some attributes in Person

This commit is contained in:
Boris Milašinović
2026-04-25 19:52:11 +02:00
parent 3e38889ada
commit eb04483417
46 changed files with 1989 additions and 26 deletions

View File

@@ -148,6 +148,7 @@ static List<string> BuildPersonInsertStatements(DatabaseTarget targetDatabase)
var faker = new Faker(locale);
var transliterationLanguage = locale.Split('_')[0];
var useTranscriptionForAddress = nonLatinLocales.Contains(transliterationLanguage);
var addressCountry = GetEnglishCountryName(countryCode);
for (var i = 0; i < peoplePerCountry; i++)
{
@@ -158,7 +159,6 @@ static List<string> BuildPersonInsertStatements(DatabaseTarget targetDatabase)
var city = NormalizeForStorage(faker.Address.City(), transliterationLanguage, useTranscriptionForAddress);
var addressLine = NormalizeForStorage(faker.Address.StreetAddress(), transliterationLanguage, useTranscriptionForAddress);
var postalCode = NormalizeForStorage(faker.Address.ZipCode(), transliterationLanguage, useTranscriptionForAddress);
var addressCountry = NormalizeForStorage(faker.Address.Country(), transliterationLanguage, useTranscriptionForAddress);
var email = faker.Internet.Email(firstNameTranscription, lastNameTranscription);
var contactPhone = NormalizePhoneNumber(faker.Phone.PhoneNumber());
var birthDate = faker.Date.BetweenDateOnly(new DateOnly(1950, 1, 1), new DateOnly(2010, 12, 31));
@@ -211,6 +211,9 @@ static string CreateInsertStatement(
static string EscapeSql(string value) => value.Replace("'", "''");
static string GetEnglishCountryName(string countryCode) =>
new System.Globalization.RegionInfo(countryCode).EnglishName;
static string NormalizeForStorage(string value, string transliterationLanguage, bool useTranscriptionForAddress) =>
useTranscriptionForAddress ? value.Transliterate(transliterationLanguage) : value;

View File

@@ -14,16 +14,16 @@ GO
CREATE TABLE dbo.Person (
Id int IDENTITY(1,1) NOT NULL,
FirstName varchar(100) NOT NULL,
LastName varchar(100) NOT NULL,
FirstName varchar(100) NULL,
LastName varchar(100) 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,
AddressLine varchar(200) NULL,
PostalCode varchar(20) NULL,
City varchar(100) NULL,
AddressCountry varchar(100) NULL,
Email varchar(255) NULL,
ContactPhone varchar(50) NULL,
BirthDate date NOT NULL,
DocumentNumber varchar(50) NOT NULL,
CountryCode varchar(3) NOT NULL,

View File

@@ -11,16 +11,16 @@ CREATE TABLE country (
-- PERSONS
CREATE TABLE person (
id SERIAL PRIMARY KEY,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
first_name VARCHAR(100),
last_name VARCHAR(100),
first_name_transcription VARCHAR(100) NOT NULL,
last_name_transcription VARCHAR(100) NOT NULL,
address_line VARCHAR(200) NOT NULL,
postal_code VARCHAR(20) NOT NULL,
city VARCHAR(100) NOT NULL,
address_country VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL,
contact_phone VARCHAR(50) NOT NULL,
address_line VARCHAR(200),
postal_code VARCHAR(20),
city VARCHAR(100),
address_country VARCHAR(100),
email VARCHAR(255),
contact_phone VARCHAR(50),
birth_date DATE NOT NULL,
document_number VARCHAR(50) NOT NULL,
country_code VARCHAR(3) NOT NULL,