Fix migrations 008 and 011 to handle removed tags table

This commit is contained in:
Mondo Diaz
2026-02-03 16:05:29 -06:00
parent 2501ba21d4
commit c0c8603d05

View File

@@ -277,27 +277,8 @@ def _run_migrations():
Migration( Migration(
name="008_create_tags_ref_count_triggers", name="008_create_tags_ref_count_triggers",
sql=""" sql="""
DO $$ -- Tags table removed: triggers no longer needed (tag system removed)
BEGIN DO $$ BEGIN NULL; END $$;
DROP TRIGGER IF EXISTS tags_ref_count_insert_trigger ON tags;
CREATE TRIGGER tags_ref_count_insert_trigger
AFTER INSERT ON tags
FOR EACH ROW
EXECUTE FUNCTION increment_artifact_ref_count();
DROP TRIGGER IF EXISTS tags_ref_count_delete_trigger ON tags;
CREATE TRIGGER tags_ref_count_delete_trigger
AFTER DELETE ON tags
FOR EACH ROW
EXECUTE FUNCTION decrement_artifact_ref_count();
DROP TRIGGER IF EXISTS tags_ref_count_update_trigger ON tags;
CREATE TRIGGER tags_ref_count_update_trigger
AFTER UPDATE ON tags
FOR EACH ROW
WHEN (OLD.artifact_id IS DISTINCT FROM NEW.artifact_id)
EXECUTE FUNCTION update_artifact_ref_count();
END $$;
""", """,
), ),
Migration( Migration(
@@ -344,9 +325,11 @@ def _run_migrations():
Migration( Migration(
name="011_migrate_semver_tags_to_versions", name="011_migrate_semver_tags_to_versions",
sql=r""" sql=r"""
-- Migrate semver tags to versions (only if both tables exist - for existing databases)
DO $$ DO $$
BEGIN BEGIN
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'package_versions') THEN IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'package_versions')
AND EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'tags') THEN
INSERT INTO package_versions (id, package_id, artifact_id, version, version_source, created_by, created_at) INSERT INTO package_versions (id, package_id, artifact_id, version, version_source, created_by, created_at)
SELECT SELECT
gen_random_uuid(), gen_random_uuid(),