Skip to content

Instantly share code, notes, and snippets.

@michaelgrifalconi
Created May 29, 2017 12:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michaelgrifalconi/578349314f696f563845e7b5ff21d284 to your computer and use it in GitHub Desktop.
Save michaelgrifalconi/578349314f696f563845e7b5ff21d284 to your computer and use it in GitHub Desktop.
Remove a deployment from a bosh director DB
BEGIN;
DELETE FROM rendered_templates_archives as RT
WHERE RT.instance_id IN (
SELECT I.id FROM instances AS I INNER JOIN deployments AS D ON I.deployment_id = D.id
WHERE D.name = [$deploymentName]);
DELETE FROM records as R WHERE R.name IN (
SELECT UNNEST(TRANSLATE(dns_records, '[]','{}')::text[])
FROM instances AS I INNER JOIN deployments AS D ON I.deployment_id = D.id
WHERE D.name = [$deploymentName]
);
DELETE FROM instances_templates AS IT
WHERE IT.instance_id IN (
SELECT I.id FROM instances AS I INNER JOIN deployments AS D ON I.deployment_id = D.id
WHERE D.name = [$deploymentName]
);
DELETE FROM persistent_disks AS PD WHERE PD.instance_id IN (
SELECT I.id FROM instances AS I INNER JOIN deployments AS D ON I.deployment_id = D.id
WHERE D.name = [$deploymentName]
);
DELETE FROM instances AS I WHERE I.deployment_id IN (
SELECT D.id FROM deployments AS D WHERE D.name = [$deploymentName]
);
DELETE FROM deployments_release_versions AS DR WHERE DR.deployment_id IN (
SELECT D.id from deployments AS D WHERE D.name = [$deploymentName]
);
DELETE FROM deployments_stemcells AS DS WHERE DS.deployment_id IN (
SELECT D.id FROM deployments AS D WHERE D.name = [$deploymentName]
);
DELETE FROM deployment_properties AS DP WHERE DP.deployment_id IN (
SELECT D.id FROM deployments AS D WHERE D.name = [$deploymentName]
);
DELETE FROM deployments AS D WHERE d.name = [$deploymentName];
COMMIT;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment