// Reference Data Domain // Contains normalized reference tables for countries, currencies, education, religion model EducationLevel { id String @id @default(cuid()) name String @unique level Int // 0=No formal, 1=Elementary, etc. description String? isActive Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relations farmers Farmer[] @@index([name]) @@index([level]) @@index([isActive]) @@map("education_levels") } model Currency { id String @id // ISO currency code like "idr", "usd" name String @unique code String @unique // ISO 4217 currency code symbol String // ₹, $, Rp, etc. isActive Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relations financialRecords FinancialRecord[] @@index([code]) @@index([isActive]) @@index([name]) @@map("currencies") } model Country { id String @id // ISO country code like "indonesia", "malaysia" name String @unique code String @unique // ISO 3166-1 alpha-2 code region String? continent String? isActive Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relations farmerNationalities Farmer[] @relation("FarmerNationality") farmerCountries Farmer[] @relation("FarmerCountry") @@index([code]) @@index([region]) @@index([continent]) @@index([isActive]) @@index([name]) @@map("countries") } model Religion { id String @id @default(cuid()) name String @unique description String? isActive Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relations farmers Farmer[] @@index([name]) @@index([isActive]) @@map("religions") }