feat: add status to subscriptions

This commit is contained in:
Sandro Eiler 2024-03-04 21:20:35 +01:00
parent fe5a596265
commit 5082db095a
3 changed files with 15 additions and 2 deletions

View file

@ -0,0 +1,2 @@
-- Add Status Column To Subscriptions Table
ALTER TABLE subscriptions ADD COLUMN status TEXT NULL;

View file

@ -0,0 +1,11 @@
-- Make Status Not Null In Subscriptions
-- We wrap the whole migration in a transaction to make sure
-- it succeeds or fails atomically.
BEGIN;
-- Backfill `status` for historical entries
UPDATE subscriptions
SET status = 'confirmed'
WHERE status IS NULL;
-- Make `status` mandatory
ALTER TABLE subscriptions ALTER COLUMN status SET NOT NULL;
COMMIT;

View file

@ -72,8 +72,8 @@ pub async fn insert_subscriber(
) -> Result<(), sqlx::Error> {
let _ = sqlx::query!(
r#"
INSERT INTO subscriptions (id, email, name, subscribed_at)
VALUES ($1, $2, $3, $4)
INSERT INTO subscriptions (id, email, name, subscribed_at, status)
VALUES ($1, $2, $3, $4, 'confirmed')
"#,
Uuid::new_v4(),
new_subscriber.email.as_ref(),