DO $$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM pg_class c
JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname = 'carrier_id_seq'
AND n.nspname = 'lookup'
) THEN
CREATE SEQUENCE lookup.carrier_id_seq OWNED BY lookup.carrier.id;
END IF;
END$$;
-- Make id use sequence
ALTER TABLE lookup.carrier ALTER COLUMN id SET DEFAULT nextval('lookup.carrier_id_seq');
-- Reset sequence based on max(id) from lookup.carrier
SELECT setval(
'lookup.carrier_id_seq',
(SELECT COALESCE(MAX(id), 0) + 1 FROM lookup.carrier),
false
);
-- Create a sequence if not exists
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = 'carrier_id_seq') THEN
CREATE SEQUENCE carrier_id_seq OWNED BY carrier.id;
END IF;
END$$;
-- Make id use sequence
ALTER TABLE carrier ALTER COLUMN id SET DEFAULT nextval('carrier_id_seq');
SELECT setval('carrier_id_seq', (SELECT COALESCE(MAX(id), 0) + 1 FROM carrier), false);