Files
ai/backend/prisma/migrations/20260715233000_model_registry_versions_v1/migration.sql
T

72 lines
3.3 KiB
SQL

ALTER TABLE `shot_generation_plans`
ADD COLUMN `capability_registry_version_id` BIGINT NULL AFTER `provider_id`,
ADD COLUMN `parameter_schema_version_id` BIGINT NULL AFTER `capability_registry_version_id`,
ADD COLUMN `pricing_version_id` BIGINT NULL AFTER `parameter_schema_version_id`;
CREATE INDEX `sgp_capability_registry_idx`
ON `shot_generation_plans`(`capability_registry_version_id`);
CREATE INDEX `sgp_parameter_schema_idx`
ON `shot_generation_plans`(`parameter_schema_version_id`);
CREATE INDEX `sgp_pricing_version_idx`
ON `shot_generation_plans`(`pricing_version_id`);
CREATE TABLE `model_capability_versions` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`provider_type` VARCHAR(80) NOT NULL,
`provider_code` VARCHAR(100) NOT NULL,
`model_name` VARCHAR(160) NULL,
`revision` INTEGER NOT NULL,
`version_key` VARCHAR(160) NOT NULL,
`content_hash` VARCHAR(64) NOT NULL,
`status` VARCHAR(50) NOT NULL DEFAULT 'published',
`capability_json` JSON NOT NULL,
`source_json` JSON NULL,
`effective_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`created_by_user_id` BIGINT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE INDEX `mcv_provider_revision_key`(`provider_type`, `provider_code`, `revision`),
UNIQUE INDEX `mcv_provider_hash_key`(`provider_type`, `provider_code`, `content_hash`),
INDEX `mcv_provider_status_effective_idx`(`provider_code`, `status`, `effective_at`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE `model_parameter_schema_versions` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`provider_type` VARCHAR(80) NOT NULL,
`provider_code` VARCHAR(100) NOT NULL,
`model_name` VARCHAR(160) NULL,
`revision` INTEGER NOT NULL,
`version_key` VARCHAR(160) NOT NULL,
`content_hash` VARCHAR(64) NOT NULL,
`status` VARCHAR(50) NOT NULL DEFAULT 'published',
`schema_json` JSON NOT NULL,
`source_json` JSON NULL,
`effective_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`created_by_user_id` BIGINT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE INDEX `mpsv_provider_revision_key`(`provider_type`, `provider_code`, `revision`),
UNIQUE INDEX `mpsv_provider_hash_key`(`provider_type`, `provider_code`, `content_hash`),
INDEX `mpsv_provider_status_effective_idx`(`provider_code`, `status`, `effective_at`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE `model_pricing_versions` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`provider_type` VARCHAR(80) NOT NULL,
`provider_code` VARCHAR(100) NOT NULL,
`model_name` VARCHAR(160) NULL,
`revision` INTEGER NOT NULL,
`version_key` VARCHAR(160) NOT NULL,
`content_hash` VARCHAR(64) NOT NULL,
`status` VARCHAR(50) NOT NULL DEFAULT 'published',
`pricing_json` JSON NOT NULL,
`source_json` JSON NULL,
`effective_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`created_by_user_id` BIGINT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE INDEX `mpv_provider_revision_key`(`provider_type`, `provider_code`, `revision`),
UNIQUE INDEX `mpv_provider_hash_key`(`provider_type`, `provider_code`, `content_hash`),
INDEX `mpv_provider_status_effective_idx`(`provider_code`, `status`, `effective_at`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;