chore: script remplit fqdn manquants depuis hostname.domain_ltd (LOWER + strip point initial du domain_ltd)
This commit is contained in:
parent
c19309fec2
commit
53144dcf43
46
fill_fqdn_from_domain_ltd.sql
Normal file
46
fill_fqdn_from_domain_ltd.sql
Normal file
@ -0,0 +1,46 @@
|
||||
-- Remplit les fqdn manquants à partir de hostname + domain_ltd.
|
||||
-- Cible : servers où fqdn IS NULL/vide ET domain_ltd renseigné.
|
||||
-- Idempotent.
|
||||
|
||||
\echo '═══ AVANT ═══'
|
||||
|
||||
SELECT 'fqdn_null' AS scope, COUNT(*) FROM public.servers WHERE fqdn IS NULL OR fqdn = ''
|
||||
UNION ALL
|
||||
SELECT 'fqdn_null_avec_dltd' AS scope, COUNT(*) FROM public.servers
|
||||
WHERE (fqdn IS NULL OR fqdn = '') AND domain_ltd IS NOT NULL AND domain_ltd <> ''
|
||||
UNION ALL
|
||||
SELECT 'fqdn_null_sans_dltd' AS scope, COUNT(*) FROM public.servers
|
||||
WHERE (fqdn IS NULL OR fqdn = '') AND (domain_ltd IS NULL OR domain_ltd = '')
|
||||
UNION ALL
|
||||
SELECT 'fqdn_total' AS scope, COUNT(*) FROM public.servers WHERE fqdn IS NOT NULL AND fqdn <> '';
|
||||
|
||||
\echo '═══ APERÇU 10 LIGNES À MAJ ═══'
|
||||
|
||||
SELECT hostname,
|
||||
domain_ltd,
|
||||
LOWER(hostname::text) || '.' || REGEXP_REPLACE(domain_ltd, '^\.+', '') AS fqdn_calcule
|
||||
FROM public.servers
|
||||
WHERE (fqdn IS NULL OR fqdn = '')
|
||||
AND domain_ltd IS NOT NULL AND domain_ltd <> ''
|
||||
ORDER BY hostname
|
||||
LIMIT 10;
|
||||
|
||||
\echo '═══ UPDATE ═══'
|
||||
|
||||
UPDATE public.servers
|
||||
SET fqdn = LOWER(hostname::text) || '.' || REGEXP_REPLACE(domain_ltd, '^\.+', ''),
|
||||
updated_at = NOW()
|
||||
WHERE (fqdn IS NULL OR fqdn = '')
|
||||
AND domain_ltd IS NOT NULL AND domain_ltd <> '';
|
||||
|
||||
\echo '═══ APRÈS ═══'
|
||||
|
||||
SELECT 'fqdn_null' AS scope, COUNT(*) FROM public.servers WHERE fqdn IS NULL OR fqdn = ''
|
||||
UNION ALL
|
||||
SELECT 'fqdn_null_avec_dltd_residuel' AS scope, COUNT(*) FROM public.servers
|
||||
WHERE (fqdn IS NULL OR fqdn = '') AND domain_ltd IS NOT NULL AND domain_ltd <> ''
|
||||
UNION ALL
|
||||
SELECT 'fqdn_null_sans_dltd' AS scope, COUNT(*) FROM public.servers
|
||||
WHERE (fqdn IS NULL OR fqdn = '') AND (domain_ltd IS NULL OR domain_ltd = '')
|
||||
UNION ALL
|
||||
SELECT 'fqdn_total' AS scope, COUNT(*) FROM public.servers WHERE fqdn IS NOT NULL AND fqdn <> '';
|
||||
Loading…
Reference in New Issue
Block a user