Browse Source

Sends dynamic drop of FK constraint

pull/7363/head
Timshel 6 days ago
parent
commit
5253c3ea04
  1. 31
      migrations/mysql/2026-06-18-120000_add_sends_emails/up.sql

31
migrations/mysql/2026-06-18-120000_add_sends_emails/up.sql

@ -16,34 +16,13 @@ CREATE TABLE sends_otp (
DELETE FROM sends where user_uuid IS NULL;
UPDATE sends SET hide_email = false WHERE hide_email IS NULL;
SELECT if (
EXISTS(
SELECT CONSTRAINT_NAME FROM information_schema.table_constraints
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'sends'
AND CONSTRAINT_TYPE = 'FOREIGN KEY'
AND CONSTRAINT_NAME = 'sends_ibfk_2'
)
,'ALTER TABLE sends DROP FOREIGN KEY `sends_ibfk_2`'
,'SELECT "info: FK sends_ibfk_2 does not exist."'
) INTO @drop_stmt;
SELECT CONCAT('ALTER TABLE sends DROP FOREIGN KEY `', constraint_name, '`') INTO @drop_stmt
FROM information_schema.key_column_usage
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'sends'
AND COLUMN_NAME = 'organization_uuid';
PREPARE drop_stmt FROM @drop_stmt;
EXECUTE drop_stmt;
SELECT if (
EXISTS(
SELECT CONSTRAINT_NAME FROM information_schema.table_constraints
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'sends'
AND CONSTRAINT_TYPE = 'FOREIGN KEY'
AND CONSTRAINT_NAME = '2'
)
,'ALTER TABLE sends DROP FOREIGN KEY `2`'
,'SELECT "info: FK sends 2 does not exist."'
) INTO @drop_stmt;
PREPARE drop_stmt FROM @drop_stmt;
EXECUTE drop_stmt;
DEALLOCATE PREPARE drop_stmt;
ALTER TABLE sends DROP COLUMN organization_uuid;

Loading…
Cancel
Save