72 lines
3.3 KiB
SQL
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;
|