CREATE TABLE "Districts" (
"DistrictType" TEXT NOT NULL,
"Name" TEXT NOT NULL,
"PrereqTech" TEXT,
"PrereqCivic" TEXT,
"Coast" BOOLEAN NOT NULL CHECK (Coast IN (0,1)) DEFAULT 0,
"Description" TEXT,
"Cost" INTEGER NOT NULL DEFAULT 0,
"RequiresPlacement" BOOLEAN NOT NULL CHECK (RequiresPlacement IN (0,1)),
"RequiresPopulation" BOOLEAN NOT NULL CHECK (RequiresPopulation IN (0,1)) DEFAULT 1,
"NoAdjacentCity" BOOLEAN NOT NULL CHECK (NoAdjacentCity IN (0,1)),
"CityCenter" BOOLEAN NOT NULL CHECK (CityCenter IN (0,1)) DEFAULT 0,
"Aqueduct" BOOLEAN NOT NULL CHECK (Aqueduct IN (0,1)),
"InternalOnly" BOOLEAN NOT NULL CHECK (InternalOnly IN (0,1)),
"ZOC" BOOLEAN CHECK (ZOC IN (0,1)) DEFAULT 0,
"FreeEmbark" BOOLEAN NOT NULL CHECK (FreeEmbark IN (0,1)) DEFAULT 0,
"HitPoints" INTEGER DEFAULT 0,
"CaptureRemovesBuildings" BOOLEAN NOT NULL CHECK (CaptureRemovesBuildings IN (0,1)),
"CaptureRemovesCityDefenses" BOOLEAN NOT NULL CHECK (CaptureRemovesCityDefenses IN (0,1)),
"PlunderType" TEXT NOT NULL,
"PlunderAmount" INTEGER NOT NULL DEFAULT 0,
"TradeEmbark" BOOLEAN NOT NULL CHECK (TradeEmbark IN (0,1)) DEFAULT 0,
"MilitaryDomain" TEXT NOT NULL,
"CostProgressionModel" TEXT NOT NULL DEFAULT "NO_COST_PROGRESSION",
"CostProgressionParam1" INTEGER NOT NULL DEFAULT 0,
"TraitType" TEXT,
"Appeal" INTEGER NOT NULL DEFAULT 0,
"Housing" INTEGER NOT NULL DEFAULT 0,
"Entertainment" INTEGER NOT NULL DEFAULT 0,
"OnePerCity" BOOLEAN NOT NULL CHECK (OnePerCity IN (0,1)) DEFAULT 1,
"AllowsHolyCity" BOOLEAN NOT NULL CHECK (AllowsHolyCity IN (0,1)) DEFAULT 0,
"Maintenance" INTEGER NOT NULL DEFAULT 0,
"AirSlots" INTEGER NOT NULL DEFAULT 0,
"CitizenSlots" INTEGER,
"TravelTime" INTEGER NOT NULL DEFAULT -1,
"CityStrengthModifier" INTEGER NOT NULL DEFAULT 0,
"AdjacentToLand" BOOLEAN NOT NULL CHECK (AdjacentToLand IN (0,1)) DEFAULT 0,
"CanAttack" BOOLEAN NOT NULL CHECK (CanAttack IN (0,1)) DEFAULT 0,
"AdvisorType" TEXT,
PRIMARY KEY(DistrictType),
FOREIGN KEY (PrereqTech) REFERENCES Technologies(TechnologyType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
FOREIGN KEY (PrereqCivic) REFERENCES Civics(CivicType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
FOREIGN KEY (TraitType) REFERENCES Traits(TraitType) ON DELETE SET DEFAULT ON UPDATE SET DEFAULT,
FOREIGN KEY (DistrictType) REFERENCES Types(Type) ON DELETE CASCADE ON UPDATE CASCADE);