CREATE TYPE "AssetType" AS ENUM ('fixed_asset', 'electronic_document', 'electronic_system', 'code_repository', 'backup_media'); CREATE TYPE "AssetSensitivityLevel" AS ENUM ('public_candidate', 'internal', 'confidential', 'strictly_confidential'); ALTER TABLE "asset_cards" ADD COLUMN "asset_type" "AssetType" NOT NULL DEFAULT 'fixed_asset', ADD COLUMN "sensitivity_level" "AssetSensitivityLevel" NOT NULL DEFAULT 'internal', ADD COLUMN "owner_employee_id" UUID, ADD COLUMN "keeper_employee_id" UUID, ADD COLUMN "archive_location" TEXT, ADD COLUMN "external_ref" TEXT, ADD COLUMN "source_hash" TEXT, ADD COLUMN "verification_no" TEXT, ADD COLUMN "confidentiality_note" TEXT, ADD COLUMN "metadata" JSONB, ADD COLUMN "last_verified_at" DATE, ADD COLUMN "expires_at" DATE; CREATE UNIQUE INDEX "asset_cards_verification_no_key" ON "asset_cards"("verification_no"); CREATE INDEX "idx_asset_cards_asset_type" ON "asset_cards"("asset_type"); CREATE INDEX "idx_asset_cards_sensitivity" ON "asset_cards"("sensitivity_level"); CREATE INDEX "idx_asset_cards_owner" ON "asset_cards"("owner_employee_id"); CREATE INDEX "idx_asset_cards_keeper" ON "asset_cards"("keeper_employee_id"); CREATE INDEX "idx_asset_cards_source_hash" ON "asset_cards"("source_hash"); CREATE INDEX "idx_asset_cards_last_verified" ON "asset_cards"("last_verified_at"); ALTER TABLE "asset_cards" ADD CONSTRAINT "asset_cards_owner_employee_id_fkey" FOREIGN KEY ("owner_employee_id") REFERENCES "employees"("id") ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE "asset_cards" ADD CONSTRAINT "asset_cards_keeper_employee_id_fkey" FOREIGN KEY ("keeper_employee_id") REFERENCES "employees"("id") ON DELETE SET NULL ON UPDATE CASCADE;