feat(monitoring/site-mappings): globalize site_domain_mappings

Drop tenant scoping on site_domain_mappings now that the citation query
resolves mappings without tenant filtering. Add a unique index on
registrable_domain plus an updated_at column, and switch the dev-seed
upsert to use ON CONFLICT (registrable_domain). Adds a SiteDomainMapping
type to ops/domain for the upcoming console management UI.
This commit is contained in:
2026-04-29 16:00:13 +08:00
parent 01b289ba0b
commit 674709c86b
5 changed files with 66 additions and 9 deletions
@@ -152,16 +152,22 @@ CREATE INDEX idx_citation_facts_run
CREATE TABLE site_domain_mappings (
id BIGSERIAL PRIMARY KEY,
tenant_id BIGINT,
registrable_domain VARCHAR(255) NOT NULL,
site_key VARCHAR(255) NOT NULL,
site_name VARCHAR(255) NOT NULL,
is_active BOOLEAN NOT NULL DEFAULT true,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_site_domain_mappings_lookup
ON site_domain_mappings(tenant_id, registrable_domain, is_active);
CREATE UNIQUE INDEX uk_site_domain_mappings_domain
ON site_domain_mappings(registrable_domain);
CREATE INDEX idx_site_domain_mappings_active_domain
ON site_domain_mappings(registrable_domain) WHERE is_active = TRUE;
CREATE INDEX idx_site_domain_mappings_created
ON site_domain_mappings(created_at DESC, id DESC);
CREATE TABLE monitoring_article_url_aliases (
id BIGSERIAL PRIMARY KEY,