generated from coulomb/repo-seed
feat: add vsm hub metadata
Some checks failed
Build and Deploy / build-push-deploy (push) Has been cancelled
Some checks failed
Build and Deploy / build-push-deploy (push) Has been cancelled
This commit is contained in:
21
Application/Migration/1744588800-vsm-hub-metadata.sql
Normal file
21
Application/Migration/1744588800-vsm-hub-metadata.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
-- IHUB-WP-0019 T03 - first-class VSM hub metadata
|
||||
|
||||
ALTER TABLE hubs
|
||||
ADD COLUMN hub_family TEXT,
|
||||
ADD COLUMN vsm_function TEXT,
|
||||
ADD COLUMN vsm_system TEXT;
|
||||
|
||||
ALTER TABLE hubs
|
||||
ADD CONSTRAINT hubs_vsm_metadata_consistency CHECK (
|
||||
(hub_family IS NULL AND vsm_function IS NULL AND vsm_system IS NULL)
|
||||
OR (
|
||||
hub_family = 'vsm'
|
||||
AND vsm_function IS NOT NULL
|
||||
AND vsm_function <> ''
|
||||
AND vsm_system IN ('1', '2', '3', '3*', '4', '5', 'environment')
|
||||
)
|
||||
);
|
||||
|
||||
CREATE INDEX hubs_hub_family_idx ON hubs (hub_family);
|
||||
CREATE INDEX hubs_vsm_system_idx ON hubs (vsm_system)
|
||||
WHERE vsm_system IS NOT NULL;
|
||||
@@ -25,7 +25,19 @@ CREATE TABLE hubs (
|
||||
domain TEXT NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT now() NOT NULL,
|
||||
api_key TEXT,
|
||||
hub_kind TEXT NOT NULL DEFAULT 'domain'
|
||||
hub_kind TEXT NOT NULL DEFAULT 'domain',
|
||||
hub_family TEXT,
|
||||
vsm_function TEXT,
|
||||
vsm_system TEXT,
|
||||
CONSTRAINT hubs_vsm_metadata_consistency CHECK (
|
||||
(hub_family IS NULL AND vsm_function IS NULL AND vsm_system IS NULL)
|
||||
OR (
|
||||
hub_family = 'vsm'
|
||||
AND vsm_function IS NOT NULL
|
||||
AND vsm_function <> ''
|
||||
AND vsm_system IN ('1', '2', '3', '3*', '4', '5', 'environment')
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
-- Widgets — smallest semantically governable interaction units
|
||||
@@ -557,6 +569,11 @@ CREATE INDEX hubs_hub_kind_idx ON hubs (hub_kind);
|
||||
CREATE UNIQUE INDEX hubs_one_framework_idx ON hubs (hub_kind)
|
||||
WHERE hub_kind = 'framework';
|
||||
|
||||
-- IHUB-WP-0019 T03 — first-class VSM hub metadata
|
||||
CREATE INDEX hubs_hub_family_idx ON hubs (hub_family);
|
||||
CREATE INDEX hubs_vsm_system_idx ON hubs (vsm_system)
|
||||
WHERE vsm_system IS NOT NULL;
|
||||
|
||||
-- T03 — Type registries
|
||||
|
||||
CREATE TABLE widget_type_registry (
|
||||
|
||||
Reference in New Issue
Block a user