impfwarteliste angepasst
This commit is contained in:
@@ -51,6 +51,14 @@ CREATE TABLE IF NOT EXISTS `impf_zeitraum_impfstoff` (
|
||||
INDEX `idx_impf_zeitraum_impfstoff_impfstoff` (`impfstoff_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `warteliste_zeitraum` (
|
||||
`warteid` INT NOT NULL,
|
||||
`zeitraum_id` INT NOT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`warteid`, `zeitraum_id`),
|
||||
INDEX `idx_warteliste_zeitraum_zeitraum` (`zeitraum_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
DROP PROCEDURE IF EXISTS `migrate_praxis_schema_20260320`;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE `migrate_praxis_schema_20260320`()
|
||||
@@ -60,6 +68,8 @@ BEGIN
|
||||
DECLARE v_warteliste_exists INT DEFAULT 0;
|
||||
DECLARE v_zeitraum_id_exists INT DEFAULT 0;
|
||||
DECLARE v_warteliste_index_exists INT DEFAULT 0;
|
||||
DECLARE v_warteliste_zeitraum_exists INT DEFAULT 0;
|
||||
DECLARE v_warteliste_zeitraum_index_exists INT DEFAULT 0;
|
||||
DECLARE v_legacy_plan_exists INT DEFAULT 0;
|
||||
|
||||
SELECT COUNT(*)
|
||||
@@ -114,6 +124,35 @@ BEGIN
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_warteliste_zeitraum_exists
|
||||
FROM information_schema.tables
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'warteliste_zeitraum';
|
||||
|
||||
IF v_warteliste_zeitraum_exists = 0 THEN
|
||||
CREATE TABLE `warteliste_zeitraum` (
|
||||
`warteid` INT NOT NULL,
|
||||
`zeitraum_id` INT NOT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`warteid`, `zeitraum_id`),
|
||||
INDEX `idx_warteliste_zeitraum_zeitraum` (`zeitraum_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
SET v_warteliste_zeitraum_exists = 1;
|
||||
ELSE
|
||||
SELECT COUNT(*)
|
||||
INTO v_warteliste_zeitraum_index_exists
|
||||
FROM information_schema.statistics
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'warteliste_zeitraum'
|
||||
AND index_name = 'idx_warteliste_zeitraum_zeitraum';
|
||||
|
||||
IF v_warteliste_zeitraum_index_exists = 0 THEN
|
||||
ALTER TABLE `warteliste_zeitraum`
|
||||
ADD INDEX `idx_warteliste_zeitraum_zeitraum` (`zeitraum_id`);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_legacy_plan_exists
|
||||
FROM information_schema.tables
|
||||
@@ -159,6 +198,18 @@ BEGIN
|
||||
VALUES ('legacy_wochenplan_migrated', '1') AS `incoming`
|
||||
ON DUPLICATE KEY UPDATE `meta_value` = `incoming`.`meta_value`;
|
||||
END IF;
|
||||
|
||||
IF v_warteliste_exists > 0 AND v_warteliste_zeitraum_exists > 0 THEN
|
||||
INSERT IGNORE INTO `warteliste_zeitraum` (`warteid`, `zeitraum_id`)
|
||||
SELECT `warteid`, `zeitraum_id`
|
||||
FROM `warteliste`
|
||||
WHERE `zeitraum_id` IS NOT NULL
|
||||
AND `zeitraum_id` > 0;
|
||||
|
||||
INSERT INTO `impf_workflow_meta` (`meta_key`, `meta_value`)
|
||||
VALUES ('legacy_warteliste_zeitraeume_migrated', '1') AS `incoming`
|
||||
ON DUPLICATE KEY UPDATE `meta_value` = `incoming`.`meta_value`;
|
||||
END IF;
|
||||
END $$
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user