| 12345678910111213141516171819202122 |
- """Remove business version schema artifacts.
- Revision ID: 20260429_9001_skill
- Revises: 20260425_0001
- Create Date: 2026-04-29 00:00:00.000000
- """
- from alembic import op
- revision: str = "20260429_9001_skill"
- down_revision: str | None = "20260425_0001"
- branch_labels = None
- depends_on = None
- def upgrade() -> None:
- op.execute("ALTER TABLE IF EXISTS skill_definition ADD COLUMN IF NOT EXISTS runtime_type VARCHAR(64) DEFAULT 'template' NOT NULL;\nALTER TABLE IF EXISTS skill_definition ADD COLUMN IF NOT EXISTS entrypoint VARCHAR(255);\nALTER TABLE IF EXISTS skill_definition ADD COLUMN IF NOT EXISTS parameter_schema_json JSON DEFAULT '{}' NOT NULL;\nALTER TABLE IF EXISTS skill_definition ADD COLUMN IF NOT EXISTS output_schema_json JSON DEFAULT '{}' NOT NULL;\nALTER TABLE IF EXISTS skill_definition ADD COLUMN IF NOT EXISTS implementation_json JSON DEFAULT '{}' NOT NULL;\nDO $$\nBEGIN\n IF to_regclass('skill_version') IS NOT NULL THEN\n UPDATE skill_definition AS skill\n SET runtime_type = COALESCE(config.runtime_type, skill.runtime_type),\n entrypoint = COALESCE(config.entrypoint, skill.entrypoint),\n parameter_schema_json = COALESCE(config.parameter_schema_json, skill.parameter_schema_json),\n output_schema_json = COALESCE(config.output_schema_json, skill.output_schema_json),\n implementation_json = COALESCE(config.implementation_json, skill.implementation_json)\n FROM (\n SELECT DISTINCT ON (skill_id)\n skill_id,\n runtime_type,\n entrypoint,\n parameter_schema_json,\n output_schema_json,\n implementation_json\n FROM skill_version\n ORDER BY skill_id, created_time DESC\n ) AS config\n WHERE skill.id = config.skill_id;\n END IF;\nEND $$;\nALTER TABLE IF EXISTS skill_installation DROP COLUMN IF EXISTS skill_version_id;\nALTER TABLE IF EXISTS skill_run DROP COLUMN IF EXISTS skill_version_id;\nDROP TABLE IF EXISTS skill_version;\nDO $$\nDECLARE\n table_record record;\nBEGIN\n FOR table_record IN\n SELECT table_name\n FROM information_schema.columns\n WHERE table_schema = current_schema()\n AND column_name = 'version'\n LOOP\n EXECUTE format('ALTER TABLE %I DROP COLUMN IF EXISTS version', table_record.table_name);\n END LOOP;\nEND $$;")
- def downgrade() -> None:
- # Business version tables and columns were intentionally removed.
- pass
|