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> {
|
async fn insert_subscriber(new_subscriber: &NewSubscriber, connection_pool: &Pool<Postgres>) -> Result<(), sqlx::Error> {
|
||||||
query!(
|
query!(
|
||||||
r#"
|
r#"
|
||||||
INSERT INTO subscriptions (id, email, name, subscribed_at)
|
INSERT INTO subscriptions (id, email, name, subscribed_at, status)
|
||||||
VALUES ($1, $2, $3, $4)
|
VALUES ($1, $2, $3, $4, 'confirmed')
|
||||||
"#,
|
"#,
|
||||||
Uuid::new_v4(),
|
Uuid::new_v4(),
|
||||||
new_subscriber.email.as_ref(),
|
new_subscriber.email.as_ref(),
|
||||||
|
|||||||
Reference in New Issue
Block a user