From 94111a1a422711491ab7deee35e9979615ef343a Mon Sep 17 00:00:00 2001 From: John Craft Date: Thu, 14 Nov 2024 19:05:49 -0800 Subject: [PATCH] Handle invalid strings in column --- .../migrations/20241115024643-modify_dob_type_in_users.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/users-api/src/migrations/20241115024643-modify_dob_type_in_users.js b/users-api/src/migrations/20241115024643-modify_dob_type_in_users.js index f6f87b9..5bc4393 100644 --- a/users-api/src/migrations/20241115024643-modify_dob_type_in_users.js +++ b/users-api/src/migrations/20241115024643-modify_dob_type_in_users.js @@ -8,10 +8,14 @@ module.exports = { type: Sequelize.DATEONLY, }); - // Convert and move the data from 'dob' to 'dob_temp' + // Convert valid dates and set NULL for invalid ones await queryInterface.sequelize.query(` UPDATE "Users" - SET "dob_temp" = "dob"::DATE + SET "dob_temp" = CASE + WHEN "dob" ~ '^[0-9]{4}-[0-9]{2}-[0-9]{2}$' AND "dob"::DATE IS NOT NULL + THEN "dob"::DATE + ELSE NULL + END `); // Remove the old 'dob' column