diff --git a/migrations/_.sql b/migrations/_.sql new file mode 100644 index 0000000..f90c8e7 --- /dev/null +++ b/migrations/_.sql @@ -0,0 +1,19 @@ +-- 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 +);