FactuGES_ERP/docs/catalogs/sql/add-payment-method-default-and-system-key.sql

32 lines
850 B
MySQL
Raw Permalink Normal View History

ALTER TABLE `payment_methods`
ADD COLUMN IF NOT EXISTS `is_default` TINYINT(1) NOT NULL DEFAULT 0 AFTER `is_system`;
ALTER TABLE `payment_methods`
ADD COLUMN IF NOT EXISTS `system_key` VARCHAR(64) NULL AFTER `is_default`;
SET @index_exists := (
SELECT COUNT(1)
FROM information_schema.statistics
WHERE table_schema = DATABASE()
AND table_name = 'payment_methods'
AND index_name = 'uq_payment_methods_company_system_key'
);
SET @create_index_sql := IF(
@index_exists = 0,
'CREATE UNIQUE INDEX `uq_payment_methods_company_system_key` ON `payment_methods` (`company_id`, `system_key`)',
'SELECT 1'
);
PREPARE stmt FROM @create_index_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
UPDATE `payment_methods`
SET `is_default` = 0
WHERE `is_default` IS NULL;
UPDATE `payment_methods`
SET `system_key` = NULL
WHERE `is_system` = 0;