20 lines
697 B
PL/PgSQL
20 lines
697 B
PL/PgSQL
-- DELETE orders that are more than 7 years old from the database
|
|
|
|
BEGIN;
|
|
DELETE FROM order_rows WHERE order_id IN (
|
|
SELECT id FROM orders WHERE inserted < date_trunc('year', now() - interval '7 years')
|
|
);
|
|
|
|
DELETE FROM invoices WHERE order_id IN (
|
|
SELECT id FROM orders WHERE inserted < date_trunc('year', now() - interval '7 years')
|
|
);
|
|
|
|
DELETE FROM orders WHERE inserted < date_trunc('year', now() - interval '7 years');
|
|
COMMIT;
|
|
|
|
DELETE FROM addresses addr WHERE NOT EXISTS (
|
|
SELECT NULL FROM samples s WHERE addr.id = s.address_id
|
|
) AND NOT EXISTS (
|
|
SELECT NULL FROM orders o WHERE addr.id = o.billing_address_id OR addr.id = o.delivery_address_id
|
|
);
|