diff --git a/migrations/postgres/000022_schema_cleanup.down.sql b/migrations/postgres/000022_schema_cleanup.down.sql new file mode 100644 index 0000000..eaa3408 --- /dev/null +++ b/migrations/postgres/000022_schema_cleanup.down.sql @@ -0,0 +1,18 @@ +CREATE TABLE IF NOT EXISTS module_cdn_fetch_log ( + id BIGSERIAL PRIMARY KEY, + module_id UUID NOT NULL REFERENCES module (id) ON DELETE CASCADE, + source_id UUID REFERENCES module_cdn_source (id) ON DELETE SET NULL, + http_status INTEGER, + bytes BIGINT, + error TEXT, + fetched_at TIMESTAMPTZ NOT NULL DEFAULT now() +); +CREATE INDEX IF NOT EXISTS idx_module_cdn_fetch_log_module ON module_cdn_fetch_log (module_id, fetched_at DESC); + +ALTER TABLE revision_materialized_prefix ADD COLUMN IF NOT EXISTS meta_json JSONB NOT NULL DEFAULT '{}'; +ALTER TABLE module_domain_entry ADD COLUMN IF NOT EXISTS resolve_meta JSONB NOT NULL DEFAULT '{}'; + +CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_revision ON revision_materialized_prefix (revision_id); +CREATE INDEX IF NOT EXISTS idx_module_tenant ON module (tenant_id); +CREATE INDEX IF NOT EXISTS idx_module_prefix_snapshot_collected ON module_prefix_snapshot (collected_at); +CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_value ON revision_materialized_prefix (prefix); diff --git a/migrations/postgres/000022_schema_cleanup.up.sql b/migrations/postgres/000022_schema_cleanup.up.sql new file mode 100644 index 0000000..ba7c8d2 --- /dev/null +++ b/migrations/postgres/000022_schema_cleanup.up.sql @@ -0,0 +1,8 @@ +ALTER TABLE revision_materialized_prefix DROP COLUMN IF EXISTS meta_json; +ALTER TABLE module_domain_entry DROP COLUMN IF EXISTS resolve_meta; +DROP TABLE IF EXISTS module_cdn_fetch_log; + +DROP INDEX IF EXISTS idx_rev_mat_prefix_revision; +DROP INDEX IF EXISTS idx_module_tenant; +DROP INDEX IF EXISTS idx_module_prefix_snapshot_collected; +DROP INDEX IF EXISTS idx_rev_mat_prefix_value; diff --git a/migrations/sqlite/000022_schema_cleanup.down.sql b/migrations/sqlite/000022_schema_cleanup.down.sql new file mode 100644 index 0000000..ba43d20 --- /dev/null +++ b/migrations/sqlite/000022_schema_cleanup.down.sql @@ -0,0 +1,18 @@ +ALTER TABLE revision_materialized_prefix ADD COLUMN meta_json TEXT NOT NULL DEFAULT '{}'; +ALTER TABLE module_domain_entry ADD COLUMN resolve_meta TEXT NOT NULL DEFAULT '{}'; + +CREATE TABLE IF NOT EXISTS module_cdn_fetch_log ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + module_id TEXT NOT NULL REFERENCES module (id) ON DELETE CASCADE, + source_id TEXT REFERENCES module_cdn_source (id) ON DELETE SET NULL, + http_status INTEGER, + bytes INTEGER, + error TEXT, + fetched_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) +); +CREATE INDEX IF NOT EXISTS idx_module_cdn_fetch_log_module ON module_cdn_fetch_log (module_id, fetched_at DESC); + +CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_revision ON revision_materialized_prefix (revision_id); +CREATE INDEX IF NOT EXISTS idx_module_tenant ON module (tenant_id); +CREATE INDEX IF NOT EXISTS idx_module_prefix_snapshot_collected ON module_prefix_snapshot (collected_at); +CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_value ON revision_materialized_prefix (prefix); diff --git a/migrations/sqlite/000022_schema_cleanup.up.sql b/migrations/sqlite/000022_schema_cleanup.up.sql new file mode 100644 index 0000000..592d6af --- /dev/null +++ b/migrations/sqlite/000022_schema_cleanup.up.sql @@ -0,0 +1,8 @@ +ALTER TABLE revision_materialized_prefix DROP COLUMN meta_json; +ALTER TABLE module_domain_entry DROP COLUMN resolve_meta; +DROP TABLE IF EXISTS module_cdn_fetch_log; + +DROP INDEX IF EXISTS idx_rev_mat_prefix_revision; +DROP INDEX IF EXISTS idx_module_tenant; +DROP INDEX IF EXISTS idx_module_prefix_snapshot_collected; +DROP INDEX IF EXISTS idx_rev_mat_prefix_value;