salix/db/versions/.archive/10714-azureOak/00-firstScript.sql

26 lines
988 B
MySQL
Raw Normal View History

USE vn;
UPDATE vn.deviceProduction dp
JOIN (
SELECT id
FROM deviceProduction dp
WHERE LENGTH(android_id) < 16
) sub ON sub.id = dp.id
SET dp.android_id = NULL;
UPDATE vn.deviceProduction dp
JOIN (
SELECT id
FROM (
SELECT id, COUNT(*) total, android_id
FROM deviceProduction dp
WHERE android_id IS NOT NULL
GROUP BY android_id
) sub
WHERE total > 1
) sub ON sub.id = dp.id
SET dp.android_id = NULL;
ALTER TABLE vn.deviceLog DROP COLUMN deviceProductionFk;
ALTER TABLE vn.deviceLog MODIFY COLUMN android_id varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL;
ALTER TABLE vn.deviceProduction MODIFY COLUMN android_id varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL NULL;
ALTER TABLE vn.deviceProduction ADD CONSTRAINT deviceProduction_UN UNIQUE KEY (android_id);
ALTER TABLE vn.deviceProduction ADD CONSTRAINT deviceProduction_CHECK CHECK (android_id REGEXP '[A-Za-z0-9]{16,}' OR android_id IS NULL);