diff --git a/migrations/000.606.sql b/migrations/000.606.sql new file mode 100644 index 0000000..972ede7 --- /dev/null +++ b/migrations/000.606.sql @@ -0,0 +1,23 @@ +-- 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 carts 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 +);