diff --git a/migrations/2025-02-09-223440_email_citext/down.sql b/migrations/2025-02-09-223440_email_citext/down.sql new file mode 100644 index 0000000..7f11256 --- /dev/null +++ b/migrations/2025-02-09-223440_email_citext/down.sql @@ -0,0 +1,5 @@ +-- Convert users email back to text +ALTER TABLE users ALTER COLUMN email TYPE text; + +-- Drop the citext extension last (after all tables using it are dropped) +DROP EXTENSION IF EXISTS citext; diff --git a/migrations/2025-02-09-223440_email_citext/up.sql b/migrations/2025-02-09-223440_email_citext/up.sql new file mode 100644 index 0000000..fd2a32e --- /dev/null +++ b/migrations/2025-02-09-223440_email_citext/up.sql @@ -0,0 +1,5 @@ +-- Enable citext extension for case-insensitive text fields +CREATE EXTENSION IF NOT EXISTS citext; + +-- Modify existing users table to use citext for email +ALTER TABLE users ALTER COLUMN email TYPE citext; diff --git a/pcrDev.json b/pcrDev.json index 5f39422..4fa2b2c 100644 --- a/pcrDev.json +++ b/pcrDev.json @@ -1,6 +1,6 @@ { "HashAlgorithm": "Sha384 { ... }", - "PCR0": "389d50ca5e4660ee7a55b46af57ea566bd2450487f72843cfdb16d73263186312cfbe0bebd8858ba103d2ae10d631ee4", + "PCR0": "583ac140e0454dd4766a07c147cb6d90d5430d6bc9c1571da19c781dea4027e1c434273caba584440180ca42c2db84d5", "PCR1": "5039fa3d13b95dded883deed58d2a0ac63bee4f05f16e05eda0dd21e54bcd01f5e700505998b5674616ea8346ce94b29", - "PCR2": "5448c51db5348b8ef34bc9417fb4d29d9d030eae84e88799ac30ebb61be80ec9e991fa3222695149fd76df8b7080ef25" + "PCR2": "9e21041c05247372770686518de99f37923ec6ad8fddecc5fd98e9d7c1c488a0b38d0071546b6164f5049bd2da74ccd0" } diff --git a/pcrProd.json b/pcrProd.json index 3b9aa98..f7f90b2 100644 --- a/pcrProd.json +++ b/pcrProd.json @@ -1,6 +1,6 @@ { "HashAlgorithm": "Sha384 { ... }", - "PCR0": "9c674e71f4490859c04a17cc7cb8a7559a2dd389964d985ddf80b44ec95e530e34ec5c556021658851b603afd8f1364f", + "PCR0": "4e242871fecc14933c889908a6a7593de574c2655a47ffa163c5fd7ba41d063152ef441bd555ac7f8569eac4fd7cbc8b", "PCR1": "5039fa3d13b95dded883deed58d2a0ac63bee4f05f16e05eda0dd21e54bcd01f5e700505998b5674616ea8346ce94b29", - "PCR2": "85a9780ac091886c27646c2bfd9049cac62776c91196bb58237a45d484e6192f1ffec90a019c83823cbce1b80cc5fd3c" + "PCR2": "6fb22e83424524d5e8a0e43b9b314af7e1ed32796b93bb7c1cec99f74800eca209c88185899c294f4f6e4ade5bb87d7e" } diff --git a/src/models/schema.rs b/src/models/schema.rs index 73162dd..d236e09 100644 --- a/src/models/schema.rs +++ b/src/models/schema.rs @@ -88,7 +88,7 @@ diesel::table! { id -> Int4, uuid -> Uuid, name -> Nullable, - email -> Nullable, + email -> Nullable, password_enc -> Nullable, seed_enc -> Nullable, created_at -> Timestamptz, diff --git a/src/models/users.rs b/src/models/users.rs index a20ecf8..2bc2940 100644 --- a/src/models/users.rs +++ b/src/models/users.rs @@ -11,7 +11,7 @@ pub enum UserError { DatabaseError(#[from] diesel::result::Error), } -#[derive(QueryableByName, Queryable, AsChangeset, Serialize, Deserialize, Clone, PartialEq)] +#[derive(Queryable, AsChangeset, Serialize, Deserialize, Clone, PartialEq)] #[diesel(check_for_backend(diesel::pg::Pg))] #[diesel(table_name = users)] pub struct User {