migrate db to support confirmation emails
This commit is contained in:
@ -0,0 +1 @@
|
||||
ALTER TABLE subscriptions ADD COLUMN status TEXT NULL;
|
||||
@ -0,0 +1,8 @@
|
||||
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;
|
||||
@ -0,0 +1,6 @@
|
||||
CREATE TABLE subscription_tokens(
|
||||
subscription_token TEXT NOT NULL,
|
||||
subscriber_id uuid NOT NULL
|
||||
REFERENCES subscriptions (id),
|
||||
PRIMARY KEY (subscription_token)
|
||||
);
|
||||
@ -104,8 +104,8 @@ impl TryFrom<FormData> for NewSubscriber {
|
||||
async fn insert_subscriber(new_subscriber: &NewSubscriber, connection_pool: &Pool<Postgres>) -> Result<(), sqlx::Error> {
|
||||
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(),
|
||||
|
||||
Reference in New Issue
Block a user