Files
points-mall/supplied-service/prisma/sql/drop-legacy-order.sql
T

57 lines
1.3 KiB
SQL

SET @fk_order_item_order = (
SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'orderitem'
AND REFERENCED_TABLE_NAME = 'order'
LIMIT 1
);
SET @sql = IF(
@fk_order_item_order IS NULL,
'SELECT 1',
CONCAT('ALTER TABLE `orderitem` DROP FOREIGN KEY `', @fk_order_item_order, '`')
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @fk_order_item_product = (
SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'orderitem'
AND REFERENCED_TABLE_NAME = 'supplier_product'
LIMIT 1
);
SET @sql = IF(
@fk_order_item_product IS NULL,
'SELECT 1',
CONCAT('ALTER TABLE `orderitem` DROP FOREIGN KEY `', @fk_order_item_product, '`')
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @fk_order_user = (
SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'order'
AND REFERENCED_TABLE_NAME = 'User'
LIMIT 1
);
SET @sql = IF(
@fk_order_user IS NULL,
'SELECT 1',
CONCAT('ALTER TABLE `order` DROP FOREIGN KEY `', @fk_order_user, '`')
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
DROP TABLE IF EXISTS `orderitem`;
DROP TABLE IF EXISTS `order`;