From 322baa756faa7c784b3806f652ec73c1af2593ef Mon Sep 17 00:00:00 2001 From: GitHub Gen Changes <> Date: Sun, 19 Jul 2026 13:34:57 +0000 Subject: [PATCH] Backward-incompatible change: renamed . to . (applications referencing will break; related unique index, functional index, and CHECK constraint updated to use the new column name). --- dirs/ecommerce/migrations/20260719133457.sql | 2 ++ dirs/ecommerce/migrations/atlas.sum | 3 ++- dirs/ecommerce/schema.sql | 12 ++++++------ 3 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 dirs/ecommerce/migrations/20260719133457.sql diff --git a/dirs/ecommerce/migrations/20260719133457.sql b/dirs/ecommerce/migrations/20260719133457.sql new file mode 100644 index 00000000..c822db67 --- /dev/null +++ b/dirs/ecommerce/migrations/20260719133457.sql @@ -0,0 +1,2 @@ +-- Modify "users" table +ALTER TABLE `users` DROP CHECK `users_chk_1`, ADD CONSTRAINT `users_chk_1` CHECK (regexp_like(`email`,_utf8mb4'^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$')), DROP COLUMN `email_address`, ADD COLUMN `email` varchar(255) NOT NULL COMMENT "Email address of the user, now stored case-insensitively" COLLATE utf8mb4_0900_as_ci AFTER `user_name`, DROP INDEX `user_name_email_address`, DROP INDEX `users_email_address_lower`, ADD UNIQUE INDEX `email` (`email`), ADD UNIQUE INDEX `user_name_email` (`user_name`, `email`), ADD INDEX `users_email_lower` ((lower(`email`))); diff --git a/dirs/ecommerce/migrations/atlas.sum b/dirs/ecommerce/migrations/atlas.sum index f9ee194a..e31550c5 100644 --- a/dirs/ecommerce/migrations/atlas.sum +++ b/dirs/ecommerce/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:eTBfJwavo3XORhrweMHfdURc3YCiguAjxjCg7wWCjgc= +h1:e2DFlyyT/K31CkqCY7pUH+nI/hL98hl2qtrK2lc3Bug= 20230316085611.sql h1:br6W6LPEnnsejlz/7hRm9zthwStCzjN2vZkqVPxlmvo= 20230316090502.sql h1:GfeRjkSeoCt3JVRtLQNa/r50lRfpAPXS7AqTU2ZNFgY= 20230531091333_products_categories.sql h1:59q2M59dV5dJNv4Lyb2TAJz8V6HekgkLn9z4DoL98jA= @@ -203,3 +203,4 @@ h1:eTBfJwavo3XORhrweMHfdURc3YCiguAjxjCg7wWCjgc= 20260712133446.sql h1:0wF99QcRneHiHDAdR4ZL+9T3PsD5w5a1sLWu2yUWMxU= 20260714133804.sql h1:6V6nA2C67RtwZ4Px6Ljjng5sVj4VnMuzWhLIRvbUjzI= 20260716133811.sql h1:DOxXXrqWlPuvU6PJM1wOpIJ7h7BzTWbnr9oWNFBcZkE= +20260719133457.sql h1:e/B0w2SCneq5Yglvcf86pL1yCMoqhW4JD4/7lHemELY= diff --git a/dirs/ecommerce/schema.sql b/dirs/ecommerce/schema.sql index c8521f9d..301bfb1e 100644 --- a/dirs/ecommerce/schema.sql +++ b/dirs/ecommerce/schema.sql @@ -2,7 +2,7 @@ CREATE TABLE `users` ( `id` int NOT NULL COMMENT 'Unique identifier for each user', `user_name` varchar(255) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT 'The username of the user, must be unique', - `email_address` varchar(255) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT 'Email address of the user, now stored case-insensitively', + `email` varchar(255) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT 'Email address of the user, now stored case-insensitively', `phone_number` char(15) NULL COMMENT 'Phone number of the user, now allowed to be NULL', `country_code` char(3) NULL DEFAULT '+1' COMMENT 'Country code for the phone number, defaults to US and can now be NULL', `is_admin` tinyint(1) NULL DEFAULT 0 COMMENT 'Flag indicating if the user is an admin, defaults to false', @@ -25,14 +25,14 @@ CREATE TABLE `users` ( `phone_number_verified_at` timestamp NULL COMMENT 'Timestamp of when the user phone number was verified', `preferred_language` varchar(10) NOT NULL DEFAULT 'en' COMMENT 'Preferred language of the user, defaults to English', PRIMARY KEY (`id`), - UNIQUE (`email_address`), + UNIQUE (`email`), UNIQUE INDEX `user_name` (`user_name`), UNIQUE INDEX `phone_number` (`phone_number`), - UNIQUE INDEX `user_name_email_address` (`user_name`, `email_address`), + UNIQUE INDEX `user_name_email` (`user_name`, `email`), UNIQUE INDEX `country_code_phone_number` (`country_code`, `phone_number`), INDEX `last_login` (`last_login`), - INDEX `users_email_address_lower` ((LOWER(`email_address`))), - CHECK (`email_address` REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$'), + INDEX `users_email_lower` ((LOWER(`email`))), + CHECK (`email` REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$'), CHECK (`phone_number` REGEXP '^[0-9]{1,15}$' OR `phone_number` IS NULL), CHECK (`last_order_date` IS NULL OR `last_order_date` >= `created_at`), CHECK ((`phone_verified` = 0) OR (`phone_number` IS NOT NULL AND `phone_number` REGEXP '^[0-9]{1,15}$')), @@ -266,4 +266,4 @@ BEGIN SET NEW.last_login = CURRENT_TIMESTAMP; END IF; END$$ -DELIMITER ; \ No newline at end of file +DELIMITER ;